关于javascript:js-比较两个数组并进行替换掉

1次阅读

共计 589 个字符,预计需要花费 2 分钟才能阅读完成。

在理论开发过程中常常会须要对数据进行解决,比方接口返回数组 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 的值)})
正文完
 0