<script>
        var data = [{
            id: 1,
            name: '家电',
            goods: [{
                id: 11,
                gname: '冰箱',
                goods: [{
                    id: 111,
                    gname: '海尔'
                }, {
                    id: 112,
                    gname: '没的'
                }]
            }, {
                id: 12,
                gname: '洗衣机'
            }]
        }, {
            id: 2,
            name: '服饰'
        }]
        // 我们想要输入id号,就可以返回对应的数据对象
        // 1.利用forEach遍历里面的每一个对象
        function getID(json, id) {
            var o = {}; // o用于存放返回的对象
            // forEach() 方法用于调用 数组 的每个元素,并将元素传递给回调函数。
            // 注意: forEach() 对于空数组是不会执行回调函数的。
            json.forEach(function (item) {
                if (item.id == id) {
                    o = item;
                } else if (item.goods && item.goods.length > 0) {
                    o = getID(item.goods, id)
                }
            });
            return o;
        }
        console.log(getID(data, 1));
        console.log(getID(data, 2));
        console.log(getID(data, 11));
        console.log(getID(data, 12));
        console.log(getID(data, 111));
    </script>

jquery JSON递归 js递归遍历json对象_回调函数