javascript - 如何删除对象中重复的数组?

标签 javascript

<分区>

如何删除对象中重复的数组?

带有数组的对象如下所示:

0:{Id: 185, Name: "Biomass"}
1:{Id: 125, Name: "CO2"}
2:{Id: 108, Name: "Coal"}
3:{Id: 108, Name: "Coal"}

最佳答案

假设你的数组是

 const myArray = [
   {Id: 185, Name: "Biomass"},
   {Id: 125, Name: "CO2"},
   {Id: 108, Name: "Coal"},
   {Id: 108, Name: "Coal"},
 ]


 let filtered = myArray.reduce((accumulator, current) => {
      if (! accumulator.find(({Id}) => Id === current.Id)) {
          accumulator.push(current);
      }
      return accumulator;
 }, []);

filtered 将打印

  [
    { "Id": 185, "Name": "Biomass" },
    { "Id": 125, "Name": "CO2" },
    { "Id": 108, "Name": "Coal" }
 ]

关于javascript - 如何删除对象中重复的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52071888/

相关文章:

javascript - GoJS 从 TextBlock 点击处理程序获取父节点

javascript - 在 PDF.js 中,如何隐藏 Canvas 并以完全不透明的方式显示底层文本?

javascript - Bootstrap 3 - 最大化窗口时导航对齐未正确显示

javascript - html表格中的进度条

javascript - 为什么订阅在首次订阅热门可观察对象后没有触发

javascript - AngularJS Ng-repeat,用表达式创建动态 dom

javascript - Charts.js 烛台(金融图表)在开始和结束时显示一半的柱

javascript - 谷歌地图 JS API

javascript - 通过 AJAX 提交表单时保存文本框建议/自动完成

javascript - 使用三个 js 进行 Alpha 裁剪/遮蔽平面?