前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js比较前后两个数组对象的差异

js比较前后两个数组对象的差异

作者头像
likepoems
发布2023-03-08 15:13:23
3.9K0
发布2023-03-08 15:13:23
举报
文章被收录于专栏:学习笔记分享学习笔记分享

比较前后两个数组对象的差异

js比较前后两个数组对象的差异,比如是添加了什么数据或者删除了什么数据。

代码语言:javascript
复制
// 两个数组对象中有相同的键如 id
// 其中, oldData为初始数据, newData为当前数据
const getChangeData = (oldData, newData) => {
  let delData = oldData.filter(
    (item2) => !newData.some((item1) => item2?.id === item1?.id)
  );
  let addData = newData.filter(
    (item2) => !oldData.some((item1) => item2?.id === item1?.id)
  );
  let changeData = {
    delData,
    addData,
  };
  return changeData;

let data01 = [
  {
    id: 1,
    type: "直尺",
    price: 2,
  },
  {
    id: 2,
    type: "直尺",
    price: 3,
  },
  {
    id: 3,
    type: "直尺",
    price: 4,
  },
  {
    id: 4,
    type: "直尺",
    price: 5,
  },
];
let data02 = [
  {
    id: 2,
    type: "直尺",
    price: 3,
  },
  {
    id: 5,
    type: "文具盒",
    price: 10,
  },
  {
    id: 6,
    type: "铅笔",
    price: 2,
  },
];
}
const a = getChangeData(data01, data02);
console.log(a);

输出: { delData: [ { id: 1, type: ‘直尺’, price: 2 }, { id: 3, type: ‘直尺’, price: 4 }, { id: 4, type: ‘直尺’, price: 5 } ], addData: [ { id: 5, type: ‘文具盒’, price: 10 }, { id: 6, type: ‘铅笔’, price: 2 } ] }

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-3-07 1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 比较前后两个数组对象的差异
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档