如何解决深入查找数组中的对象并编辑然后放回原位
const data = [{name: "item1",key: 1},{name: "item2",key: 2,children: [{name: "item3",key: 3}]}]
每个项目都可以有子项和子项中的对象)
什么时候点击编辑函数应该通过按键或给定对象给出找到的对象:
findobj(3) //按键查找
//result {name: "item3",key: 3}
编辑后什么时候点击保存编辑过的对象应该保存在自己的位置:
saveEditing({name: "editedname",key: 3})
//result [{name: "item1",children: [{name: "editedname",key: 3}]}]
解决方法
按关键字查找项目
function findItemByKey(data,key){
for(let node of data){
if(node.key === key){
return node;
}
if(node.children){
let result = findItemByKey(node.children,key)
if(result) {
return result;
}
}
}
return undefined;
}
let result = findItemByKey(data,3);
console.log(result); // { name: "item3",key: 3 }
按键保存项目
function saveItemByKey(data,key,name){
let result = findItemByKey(data,key);
if(result){
result.name = name;
}
}
只是一些粗略的解决方案。您应该可以从那里对其进行自定义。
,r77504
M PathA/Data.xml
r77103
M PathB/SubPathB/Home.xml
M PathB/SubPathC/YaDa.xml
r76498
M PathA/Data.xml
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。