gpt4 book ai didi

JavaScript 递归搜索

转载 作者:行者123 更新时间:2023-12-03 09:32:02 24 4
gpt4 key购买 nike

我在递归搜索时遇到一些问题。我想返回找到 ID 的 block 。

这是我的数据:

{
"rows": [{
"columns": [{
"id": "iE1YMSahu",
"rows": [{
"columns": [{
"id": "VJBjVrfP"
}, {
"id": "NJb1234A",
"rows": [{
"columns": [{
"id": "VJBjVXXX"
}, {
"id": "NJb1234B"
}]
}]
}]
}]
}, {
"id": "EJnASD-v",
"rows": [{
"columns": [{
"id": "VJBjVYYY"
}]
}]
}]
}]
}

它应该返回

    {
"id": "EJnASD-v",
"rows": [{
"columns": [{
"id": "VJBjVYYY"
}]
}]
}

但它却返回 false。这是我的代码:

function findColumnWithId(obj, id){
for(var i = 0; i < obj['rows'].length; i++){
for(var j = 0; j < obj['rows'][i]['columns'].length; j++){
if(obj['rows'][i]['columns'][j].id == id)
return obj;

if(obj['rows'][i]['columns'][j].hasOwnProperty('rows')){
var result = findColumnWithId(obj['rows'][i]['columns'][j], id);

if(typeof result !== false)
return result;
}
}
}

return false;
}

findColumnWithId(data, 'VJBjVYYY');

我真的不知道发生了什么。它似乎没有迭代 Json 数据的最后一部分。这段代码实际上在我的 6 个用例中的 5 个中都有效,这使得它更加奇怪。任何帮助将不胜感激。

最佳答案

删除此 if 语句中的“typeof”可以修复我的代码。

if(typeof result !== false)

关于JavaScript 递归搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31476037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com