如何修改一个数组中的某一个

微信小程序,微信公开课,如何修改一个数组中的某一个 微信公开课

微信公开课小程序热门讨论关于「如何修改一个数组中的某一个」的小程序开发问题
补充:如何修改一个数组中的某一个,data:{items:[
展开:data:{items:[{name:nan,value:男,checked:false},{name:nv,value:女,checked:false},]}这样一个数组,如何修改某一个checked的值varthat=thisvarchecked=items[+1+]checkedthatsetData({checked:true})consolelog(thatdataitems)  这种做法发现打印出来的数据没有变化即速小程序:https:developersweixinqqcomcommunitydevelopdoc000c68601d0b402a45672ee5b5b000:include了解下:letarr=thisdataitems;arr[1]checked=truethissetData({items:arr});consolelog(thisdataitems);就ok了:es6语法中对象属性可以使用表达式letitems=thisdataitems;thissetData({[items[+1+]checked]:true})consolelog(thatdataitems)这种做法发现打印出来的数据没有变化:http:es6ruanyifengcomdocsobject:还有一种方式:letitemsObj={};constindex=1;itemsObj[items[+index+]checked]=true;thissetData(itemsObj);consolelog(thisdataitems);:嗯嗯,谢谢,这种方式我还没试过,我找到了我的错误之处,就是setData的时候checked,少写了一个[]包起来:thatsetData({[checked:true]});这样就可以了:数组里这样写不报错:thatsetData({[checked]:true});写错了:数组里面给某一个元素重新赋值,讲道理,是这样写的,因为我之前那个项目是这样做的,这下子莫名其妙不行了,不知道哪里写错了:thatsetData({[checked]:true});这样写是对的学到了:说不定你打印checked还能打印出个true:打印checked就是一个字符串:items[1]checked:你这个本身就有问题的varchecked=items[+1+]checked你这里给checked赋值是items[+1+]checked这样的一个字符串然后你打印的是不是直接consolelog(checked)?你这样打印肯定是出来的是这个字符串你应该打印consolelog(thatdatachecked)你这样打印出来的就是你刚刚setData的结果了应该是ture:为什么一定要用thissetData呢直接用thisdataitems[1]checked=true不行呢是没有响式么:那你如果不用setData就能把data里的值修改了,也行啊你可以试一试呗
更多有关「如何修改一个数组中的某一个」的讨论可以前往微信公开课小程序参与互动哦!了解更多

「如何修改一个数组中的某一个」热门讨论订阅

微信小程序,微信公开课,如何修改一个数组中的某一个
订阅小程序

方法1:微信扫描微信公开课小程序码即可订阅热门讨论「如何修改一个数组中的某一个」

方法2:微信搜索微信公开课小程序名称进入,即可订阅热门讨论「如何修改一个数组中的某一个」

方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热门讨论「如何修改一个数组中的某一个」

微信公开课小程序热门讨论「如何修改一个数组中的某一个」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。

微信公开课热门讨论「如何修改一个数组中的某一个」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。