javascript - 如何操作json中的某个元素

查看:113
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆