数组去重切新数据覆盖旧数据

const dealRearrangement = (arr) => {
  var obj = {};
  arr = arr.reduce(function (item, next) {
    if (obj[next.id]) {
      item.map((i) => {
        if (i.id === next.id) {
          i.layerName = next.layerName;
          i.layerPercent = next.layerPercent;
        }
      });
    } else obj[next.id] = true && item.push(next);
    return item;
  }, []);
  return arr;
};
const arr = [
  {
    id: "1",
    layerName: "1",
    layerPercent: "1",
  },
  {
    id: "1",
    layerName: "2",
    layerPercent: "2",
  },
  {
    id: "1",
    layerName: "3",
    layerPercent: "3",
  },
  {
    id: "2",
    layerName: "4",
    layerPercent: "4",
  },
];
console.log(dealRearrangement(arr));

posted @   郭杰前端开发  阅读(148)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
## 希望内容对你有帮助,如果有错误请联系我 q: 1911509826,感谢支持
点击右上角即可分享
微信分享提示