【js 比较两个数组,并进行替换掉】在实际开发过程中经常会需要对数据进行处理,比如接口返回数组A和已有数据B,需要找到B跟A相同的对象,并替换B的值。实现如下:
数组A:
const A = [
{ id: 1, num: 10, attr: 'apple', spec: '红'},
{ id: 2, num: 11, attr: 'banana', spec: '甜'},
{ id: 3, num: 12, attr: 'peach', spec: '香'},
{ id: 4, num: 13, attr: 'grapes', spec: '圆'},
{ id: 5, num: 14, attr: 'pear', spec: '脆' },
{ id: 6, num: 15, attr: 'strawberry', spec: '大' },
]const B = [
{ id: 4, num: 20, attr: 'grapes', spec: '又圆又大'},
{ id: 5, num: 30, attr: 'pear', spec: '又脆又甜' },
{ id: 6, num: 40, attr: 'strawberry', spec: '又香又甜' },
]
// 更新A中的数据
A.forEach((item1, index) => {
const res = B.filter(item2 => {
return item2.id == item1.id // 找到id一样的item
})
res[0] && A.splice(index, 1, res[0]) // 找到一样的item后,进行替换(B的值替换A的值)
})
推荐阅读
- 新程序员|justjavac(从辍学到成为Deno核心代码贡献者,我的十年编程生涯)
- JavaScript|【JavaScript】DOM (四) 轮播图超详细讲解
- 前端|前端-js网页特效(终章)超详细的轮播图效果及原理 一篇彻底吃透!
- js|逆向日记之发票查验平台网站js逆向分析及逆向算法
- android逆向|第一次进行android逆向的过程记录
- 调用华为游戏多媒体服务的创建引擎接口返回错误码1002,错误信息(the params is error)
- Vue 3是一个错误,我们不应该再犯。
- 前端|vue接口token认证登录(加手机验证)
- Tool|【前端】解决Bootstrap3与Bootstrap4同时使用的CSS冲突问题