在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' } ]