从对象数组中删除重复项JavaScript

我们需要编写一个函数,该函数从数组中删除重复的对象并返回一个新的对象。如果一个对象具有相同数量的键,相同的键和每个键的值,则将它们视为另一对象的副本。

让我们为此编写代码-

我们将使用映射以字符串形式存储不同的对象,一旦看到重复的键,我们将忽略它,否则我们将对象推入新数组-

示例

const arr = [

   {

      "timestamp": 564328370007,

      "message": "It will rain today"

   },

   {

      "timestamp": 164328302520,

      "message": "will it rain today"

   },

   {

      "timestamp": 564328370007,

      "message": "It will rain today"

   },

   {

      "timestamp": 564328370007,

      "message": "It will rain today"

   }

   ];

   const map = {};

   const newArray = [];

   arr.forEach(el => {

      if(!map[JSON.stringify(el)]){

         map[JSON.stringify(el)] = true;

         newArray.push(el);

   }

});

console.log(newArray);

输出结果

控制台中的输出将为-

[

   { timestamp: 564328370007, message: 'It will rain today' },

   { timestamp: 164328302520, message: 'will it rain today' }

]

以上是 从对象数组中删除重复项JavaScript 的全部内容, 来源链接: utcz.com/z/347155.html

回到顶部