javascript - 如何操作json中的某个元素
本文介绍了javascript - 如何操作json中的某个元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
有这样一个json:
[
{
groupname:'主要任务',
index:0,
tasks:[
{
id:2,
title:'完善通讯录aaweeeeg',
urgency:'正常',
remark:'some word here',
tasker_main:'henry',
tasker_other:['jim','john'],
participators:['1','2','3'],
publisher:'henry',
ddl:'1288323623006',
base_score:'5',
upvoters:['jim','小华'],
completed:true
},
{
id:3,
title:'task2',
urgency:'正常',
remark:'',
tasker_main:'12',
tasker_other:['小李','小王'],
participators:['1','2','3'],
publisher:'小华',
ddl:'1289355623006',
base_score:3,
upvoters:[],
completed:true
},
{
id:4,
title:'紧急会议',
urgency:'紧急',
remark:'some word here',
tasker_main:'henry',
tasker_other:['smith','harry'],
participators:['1','2','3'],
publisher:'小明',
ddl:'1285978923006',
base_score:2,
upvoters:['henry'],
completed:false
}
]
},
{
groupname:'技术任务',
index:1,
tasks:[
{
id:5,
title:'task1',
urgency:'火急',
remark:'some word here',
tasker_main:'henry',
tasker_other:['jim','john'],
participators:['1','2','3'],
publisher:'mary',
ddl:'1285978923006',
base_score:'5',
upvoters:['jim','小华'],
completed:false
}
]
}
]
我想通过task的id
这个属性,找到特定的task对象,然后把它的completed属性改成true。
请问该如何实现这个功能啊?
PS.这个json实际上是当对象来用的,不是字符串。。我是想用JavaScript,在用户单击按钮时,把相应的task标记成已完成。
谢谢
解决方案
var data = [
{
groupname:'主要任务
index:0,
tasks:[
{
id:2,
title:'完善通讯录aaweeeeg',
urgency:'正常',
remark:'some word here',
tasker_main:'henry',
tasker_other:['jim','john'],
participators:['1','2','3'],
publisher:'henry',
ddl:'1288323623006',
base_score:'5',
upvoters:['jim','小华'],
completed:true
},
{
id:3,
title:'task2',
urgency:'正常',
remark:'',
tasker_main:'12',
tasker_other:['小李','小王'],
participators:['1','2','3'],
publisher:'小华',
ddl:'1289355623006',
base_score:3,
upvoters:[],
completed:true
},
{
id:4,
title:'紧急会议',
urgency:'紧急',
remark:'some word here',
tasker_main:'henry',
tasker_other:['smith','harry'],
participators:['1','2','3'],
publisher:'小明',
ddl:'1285978923006',
base_score:2,
upvoters:['henry'],
completed:false
}
]
},
{
groupname:'技术任务',
index:1,
tasks
{
id:5,
title:'task1',
urgency:'火急',
remark:'some word here',
tasker_main:'henry',
tasker_other:['jim','john'],
participators:['1','2','3'],
publisher:'mary',
ddl:'1285978923006',
base_score:'5',
upvoters:['jim','小华'],
completed:false
}
]
}
]
var _id = 4; //把id是4的变成true
for(var i=0;i<data.length;i++){
for(var j=0;j<data[i].tasks.length;j++){
if(data[i].tasks[j]['id'] == _id){
data[i].tasks[j]['completed'] = true;
}
}
}
这篇关于javascript - 如何操作json中的某个元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文