美文网首页
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