gpt4 book ai didi

javascript - 在复杂的 json/数组中搜索位置以使用 javascript 进行更新(angularjs 或 pure)

转载 作者:行者123 更新时间:2023-11-28 05:13:28 25 4
gpt4 key购买 nike

我需要在复杂的 json/数组中搜索一个值,并且需要在对象中进行更新。我的 json/数组是:

var myArray = [{
"id": 5424,
"description": "xxxxxxxx",
"children": [{
"id": 8756,
"description": "yyyyyyy",
"Children": [{
"id": 8759,
"description": "zzzzzzz",
"Children": [{}]
}]
}]
},
{
"id": 5675,
"description": "bbbbbbb",
"Children": [{}]
}];

我该怎么做?我尝试使用 indexOffindmap 但没有成功!

最佳答案

您可以创建一个递归函数(纯 JavaScript):

function updatePerson(id, propToUpdate, value) {
var person = findPerson(id, myArray);
if (person) {
person[propToUpdate] = value;
}
}

function findPerson(id, children) {
var found;
for (var i = 0; i < children.length; i++) {
var child = children[i];

if (child.id == id) {
found = child;
break;
} else if (child.children && child.children.length) {
found = findPerson(id, child.children);
if (found) {
break;
}
}
}

return found;
}

例如参见 this jsfiddle Angular

关于javascript - 在复杂的 json/数组中搜索位置以使用 javascript 进行更新(angularjs 或 pure),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41186482/

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