相关疑难解决方法(0)

JSON对象中的JavaScript递归搜索

我试图返回JSON对象结构中的特定节点,如下所示

{
    "id":"0",
    "children":[
        {
            "id":"1",
            "children":[...]
        },
        {
            "id":"2",
            "children":[...]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

所以这是一个像树一样的孩子 - 父母关系.每个节点都有一个唯一的ID.我试图找到一个特定节点这样

function findNode(id, currentNode) {

    if (id == currentNode.id) {
        return currentNode;
    } else {
        currentNode.children.forEach(function (currentChild) {            
            findNode(id, currentChild);
        });
    }
}  
Run Code Online (Sandbox Code Playgroud)

我执行搜索,例如findNode("10", rootNode).但即使搜索找到匹配项,该函数也会返回undefined.我有一种不好的感觉,递归函数在找到匹配后不会停止并继续运行finally返回,undefined因为在后面的递归执行中它没有到达返回点,但我不知道如何解决这个问题.

请帮忙!

javascript recursion json

24
推荐指数
2
解决办法
3万
查看次数

lodash属性在数组和嵌套子数组中搜索

我有这个数组:

[
    {
        id: 1,
        name: 'test 1',
        children: []
    },
    {
        id: 2,
        name: 'test 2',
        children: [
            {
                id: 4,
                name: 'test 4'
            }
        ]
    },
    {
        id: 3,
        name: 'test 3',
        children: []
    }
]
Run Code Online (Sandbox Code Playgroud)

如何通过id此数组嵌套children数组中的属性进行过滤?

例如,搜索id = 3,应返回test 3对象,并搜索id = 4应返回test 4对象.

javascript underscore.js lodash

16
推荐指数
3
解决办法
2万
查看次数

标签 统计

javascript ×2

json ×1

lodash ×1

recursion ×1

underscore.js ×1