无限嵌套的json数据,匹配id,替换
问题描述
根据 checkmove.id 去匹配下面的id,匹配到了就把checkmove取代id所在的对象,但不知道怎么写
that.functionsList
[
{
listRight: [
{
id: getID(),
tasks: [
{
id: getID(),
tasks: '0-0'
},
{
id: getID(),
tasks: '0-1'
},
]
},
{
id: getID(),
tasks: [
{
id: getID(),
tasks: '1-0'
},
{
id: getID(),
tasks: '1-1'
},
]
},
],
name:''
},
{
listRight: [
{
id: getID(),
tasks: [
{
id: getID(),
tasks: '0-0'
},
{
id: getID(),
tasks: '0-1'
},
]
},
{
id: getID(),
tasks: [
{
id: getID(),
tasks: '1-0'
},
{
id: getID(),
tasks: '1-1'
},
]
},
],
name:''
},
]
相关代码
Bus.$on('changeCheckItem',checkmove => {
console.log('this.functionsList: ', this.functionsList);
this.functionsList.some((item1,index1) => {
if (item1.name === this.funcName) {
let listRight = this.functionsList[index1].listRight;
function func(list) {
list.map(item2 => {
if (item2.id === checkmove.id) {
// item = value
}
if (item2.hasOwnProperty('tasks')&&item2.tasks.length > 0) {
func(item2.tasks)
}
})
}
func(listRight)
return true;
}
})
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这里tasks依然跟上次一样考虑了嵌套多层的情况。