recherche

Maison  >  Questions et réponses  >  le corps du texte

angular.js - JS或者angular如何写递归呢?

如图是一个对象,每个子节点里面都有一个children的数组,数组都是这样模式的对象组合。

最低端的children.length=0.我需要 依次按照节点来把对象添加到一个集合里面,比如angular的 $scope.list=[];

我现在是这样写的。能用,但是顺序不对啊 有些节点比较后的,但是靠前,以至于显示不对啊:

cycle(data);


        function cycle(projection) {
            console.log("现在第几:"+times,projection.name);
            times += 1;
            if(times < 15) {

                for(var k in projection) {

                    if(k == "children") {

//                        console.log("find k.value is:", projection[k]);

                        if(projection[k].length > 0) {

                            for(var i = 0; i < projection[k].length; i++) {

//                                console.log("size>0:name", projection[k][i].name, projection[k][i]);

                                cycle(projection[k][i]);

                                $scope.dd.push(projection[k][i]);
                            }
                        }
                    }
                }
            } 
        }

        console.log("sfdsfsdfsdfsdf:", $scope.dd);
    });

需求是:要依次按照金字塔的节点加到$scope.list.push();里面,而不能第三层的节点对象 先于第二层对象加到里面。如何完善这个东东?

怪我咯怪我咯2744 Il y a quelques jours522

répondre à tous(1)je répondrai

  • 習慣沉默

    習慣沉默2017-05-15 17:06:23

    Détruire zéro récupération herbe herbe herbe herbe herbe herbe herbe herbe herbe herbe herbe

    répondre
    0
  • Annulerrépondre