js,json数组 跪求大神 搞半天没成功

2025-04-04 02:38:34
推荐回答(1个)
回答1:

        var read = function(file){
            addAttr(file);
            var ch = file["children"];
            if(ch && ch instanceof Array){
                var len= ch.length;
                for(var i=0;i                    read(ch[i])
                }
            }
        };
        var addAttr = function(file) {
            for (var i = 0; i < b.length; i++) {
                if (b[i].class_id == file.id) {
                    for (var attr in b[i])
                        if (attr != "class_id")
                            file[attr] = b[i][attr];
                    break;
                }
            }
        };
        var readAgain = function(file,sum){
            var ch = file["children"];
            if(ch && ch instanceof Array){
                var len= ch.length;
                sum = 0;
                for(var i=0;i                    sum =readAgain(ch[i],sum);
                }
                file.age = sum;
            }
            return file.age+sum;
        };
        for(var i=0;i< a.length;i++){
            read(a[i]);
        }
        for(i=0;i< a.length;i++){
            readAgain(a[i],0);
        }
        console.log(a);