从 JavaScript 数组中移除重复对象


假设我们有一个这样的对象数组——

const arr = [
   {"title": "Assistant"},
   {"month": "July"},
   {"event": "Holiday"},
   {"title": "Assistant"}
];

我们需要编写一个 JavaScript 函数,它会获取一个这样的数组。然后,我们的函数应该返回一个新数组,其中包含原始数组中的所有对象,但没有重复的对象。

示例

以下为代码——

const arr = [
   {"title": "Assistant"},
   {"month": "July"},
   {"event": "Holiday"},
   {"title": "Assistant"}
];
const removeDuplicate = arr => {
   const map = {};
   for(let i = 0; i < arr.length; ){
      const str = JSON.stringify(arr[i]);
      if(map.hasOwnProperty(str)){
         arr.splice(i, 1);
         continue;
      };
      map[str] = true;
      i++;
   };
};
removeDuplicate(arr);
console.log(arr);

输出

控制台中的输出——

[ { title: 'Assistant' }, { month: 'July' }, { event: 'Holiday' } ]

更新于: 12-Oct-2020

251 次浏览

启动你的 职业生涯

完成此课程,获得认证

开始学习
广告