Javascript 如何处理完全相同、嵌套较深的数据?

Javascript 如何处理完全相同、嵌套较深的数据?,javascript,Javascript,例如,具有以下数据: 让示例={ 内容:[ ... {//index=3 id:“b3bbb2a0-3345-47a6-b4f9-51f22b875f22”, 数据:{ 值:“你好”, 内容:[ ... {//index=0 id:“65b1e224-4eae-4a6d-8d00-c1caa9c7ed2a”, 数据:{ 价值:“世界”, 内容:[ ... {//index=1 id:“263a4961-efa7-4639-8a57-b20b23a7cc9d”, 数据:{ 值:“测试”, 内容:[

例如,具有以下数据:

让示例={
内容:[
...
{//index=3
id:“b3bbb2a0-3345-47a6-b4f9-51f22b875f22”,
数据:{
值:“你好”,
内容:[
...
{//index=0
id:“65b1e224-4eae-4a6d-8d00-c1caa9c7ed2a”,
数据:{
价值:“世界”,
内容:[
...
{//index=1
id:“263a4961-efa7-4639-8a57-b20b23a7cc9d”,
数据:{
值:“测试”,
内容:[
//筑巢未知。
]
}
}
]
}
}
]
}
}
]
}
例如,具有指向所需元素的索引的数组(但可以是任何其他元素):

constids=[3,0,1]
如何处理具有此数据的元素


例如,需要在“ids”中的指定路径处更改元素中的“value”。

如果您到达最后一个元素,您可以递归地循环您的元素并更改值

我已经编写了一个小示例,您所要做的就是为您自己的数据结构扩展该方法(
el.data.content
):

const el=[[1,2]、[3,4]、[5,6];
常量变量=(el,indexArr,val)=>{
如果(indexArr.length==1){
el[indexArr[0]]=val;
}否则{
changeEl(el[indexArr.shift()],indexArr,val);
}
}
changeEl(el[1,0],99);

控制台日志(el)您可以递归地循环您的元素并更改值(如果您到达最后一个元素)

我已经编写了一个小示例,您所要做的就是为您自己的数据结构扩展该方法(
el.data.content
):

const el=[[1,2]、[3,4]、[5,6];
常量变量=(el,indexArr,val)=>{
如果(indexArr.length==1){
el[indexArr[0]]=val;
}否则{
changeEl(el[indexArr.shift()],indexArr,val);
}
}
changeEl(el[1,0],99);

控制台日志(el)
您可以获取一个索引数组,并通过为每个缺少的索引再次调用函数来获取属性
内容的项

const
getElement=({content},[index,…index])=>index.length
? getElement(内容[索引],索引)
:内容[索引];

如果需要,您可以为缺少的索引添加一个保护并提前退出。

您可以获取一个索引数组,并通过为每个缺少的索引再次调用函数来获取属性
内容的项

const
getElement=({content},[index,…index])=>index.length
? getElement(内容[索引],索引)
:内容[索引];

如果需要,您可以为缺少的索引添加一个保护,并提前退出。

什么表示
ids
?@Nina Scholz“内容”数组中元素的索引。您尝试过什么吗?什么表示
ids
?@Nina Scholz“内容”数组中元素的索引。您尝试过什么吗?