js循环的问题,c币多多!都来抢答!

js里面for循环能不能实现对json多层的遍历?不是单层,而是多层怎么for循环?

20个回答

 function jsoneach(obj, callback,name) {
    if (Object.prototype.toString.call(obj)=="[object Array]") {
        for (var i = 0, len = obj.length; i < len; i++) {
            jsoneach(obj[i], callback,i);
        }
    } else if (typeof obj=="object") {
        for (var i in obj) {
            jsoneach(obj[i], callback,i);
        }
    } else
        callback(name,obj);
}

jsoneach(json, function (n,v) {
    console.log(n,v);
})

可以有一个for自然可以有多个

dabocaiqq
请你们大家多多姿瓷我菠菜菌 不行啊,还有人会这个问题么?
一年多之前 回复

可以循环套循环,就看你的需要什么了。

for循环里面在套for循环啊

for是多层嵌套的,根据你的数据格式循环多层数据

$.post("/crew/group_state/findRri",function(data){
if(data.state=="ok"){
//console.debug(data.data)
$.each(data.data,function(index,val){
console.debug(val.name)
})
}
})

不管是多层嵌套,还是单层的,json数据都是有规律的,只有数组类型的,for循环遍历才是可以的,不是数组的,遍历不起来吧

可以用递归遍历json啊

1 可以利用一个数组存放对象,然后for改写成while一样的死循环,每次遍历数组的第一个对象遍历过程中遇到对象可以push到数组里
就跟广度优先搜索一样
2 递归
3 蛮力 对象大概有几层深就提前写几层for循环

共20条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问