为了账号安全,请及时绑定邮箱和手机立即绑定

js数组对象的覆盖

js数组对象的覆盖

慕莱坞森 2019-02-12 17:19:29
var o1 = [{value: "doomfist",checked: false},{value: "genji",checked: false},{value: "mccree", checked: false}];var o2 = [{value: "mccree", checked: true},{value: "genji",checked: true}];有没有现成的方法比如es6,lodash中的方法,将o2对象覆盖到o1,最终的结果是[{value: "doomfist",checked: false},{value: "genji",checked: true},{value: "mccree", checked: true}]使用Object.assign(o1,o2)的结果如下:[{value: "mccree", checked: true}{value: "genji", checked: true}{value: "mccree", checked: false}]没有一步到位的,就用这了const result = o1.map(item1 => {  return Object.assign(item1, o2.find(item2 => {    return item2 && item1.value === item2.value  }))})
查看完整描述

2 回答

?
达令说

TA贡献1821条经验 获得超6个赞

Object.assign(o1,o2)


你想要{value:a,check:b}比较,让value的值不同的,不变,只更新check的值,是这个意思吗。


你的a,b本质上都是value,而现成的方法都是比较对象中的key来做替换。


查看完整回答
反对 回复 2019-02-26
?
莫回无

TA贡献1865条经验 获得超7个赞

sugarjs先add两个数组,然后filter掉value是mccree并且checked是false的,一步到位的还真没想起来


查看完整回答
反对 回复 2019-02-26
  • 2 回答
  • 0 关注
  • 1569 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号