美文网首页
Javascript 数组转无限级分类(递归)

Javascript 数组转无限级分类(递归)

作者: 伍源辉 | 来源:发表于2017-02-09 17:56 被阅读319次
    <script type="text/javascript">
    var arr = [
        {"id":1,"parent_id":0,"name":"Foods"},
        {"id":2,"parent_id":1,"name":"Fruits"},
        {"id":3,"parent_id":2,"name":"apple"},
        {"id":4,"parent_id":2,"name":"orange"},
        {"id":5,"parent_id":2,"name":"tomato"},
        {"id":6,"parent_id":1,"name":"Vegetables"},
        {"id":7,"parent_id":6,"name":"carrot"},
        {"id":8,"parent_id":6,"name":"cabbage"},
        {"id":9,"parent_id":6,"name":"potato"},
        {"id":10,"parent_id":6,"name":"lettuce"},
        {"id":11,"parent_id":0,"name":"Cars"}
    ];
    
    function convert(arr, id){
        var res = [];
        for (var i = 0; i < arr.length; i++) {
            if (arr[i].parent_id == id) {
                res.push(arr[i]);
                var func = eval(arguments.callee.name);
                arr[i].child = func(arr, arr[i].id);
            }
        }
        return res;
    }
    
    console.log(convert(arr, 0));
    </script>
    

    相关文章

      网友评论

          本文标题:Javascript 数组转无限级分类(递归)

          本文链接:https://www.haomeiwen.com/subject/bslwittx.html