题目描述
通过以下关系
num -> value amount -> total
把数组对象oriData与objData根据type合并输出想到的结果
oriData = [ {num: 1, amount: 1, type: '1'}, {num: 2, amount: 2, type: '2'}, {num: 3, amount: 3, type: '3'} ] objData = [ {value: null, total: null, type: '1'}, {value: null, total: null, type: '2'}, {value: null, total: null, type: '3'} ]
结果为
objData = [ {value: 1, total: 1, type: '1'}, {value: 2, total: 2, type: '2'}, {value: 3, total: 3, type: '3'} ]
题目来源及自己的思路
我尝试了使用forEach遍历oriData与objData,并把他们assign起来,这样确实可以把两个数组对象合并,但是得到的结果就是objData中出现了新的属性值num与amount。数据有冗余,而且显得很low。
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
let oriData = [ {num: 1, amount: 1, type: '1'}, {num: 2, amount: 2, type: '2'}, {num: 3, amount: 3, type: '3'} ] let objData = [ {value: null, total: null, type: '1'}, {value: null, total: null, type: '2'}, {value: null, total: null, type: '3'} ] objData.forEach(item=> { oriData.forEach(oItem => { if (item.type === oItem.type) { item.value = oItem.num; item.total = oItem.amount; Object.assign(item, oItem) } }) })
你期待的结果是什么?实际看到的错误信息又是什么?
有没有什么高大上的方法,可以做到通用性呢
待解决
悬赏分:70
- 离问题结束还有 54天14小时11分15秒
点赞 0反对 0举报 0
收藏 0
分享 0
