如何使用 JavaScript 从对象数组中删除重复项?
给定一个对象数组,任务是从数组列表中删除重复的对象元素。有两种方法可以解决这个问题,下面将讨论:
方法1:使用其中一个键作为索引:创建一个临时数组,该数组使用其中一个键作为索引来存储原始数组的对象。任何对象属性都可以用作键。从对象中提取键并用作新临时数组的索引。然后将该对象分配给该索引。这种方法将删除重复的对象,因为原始数组的每个对象中只有一个将分配给相同的索引。
例子:
How to remove duplicates from an
array of objects using JavaScript ?
GeeksforGeeks
How to remove duplicates from
an array of objects?
Click on the button to remove
the duplicated in the array
Check the console for the output
输出:
- 在点击按钮之前:
- 点击按钮后:
方法 2:将数组转换为 Set 以删除重复项: Set 对象仅保存任何类型的唯一值。此属性可用于仅存储数组中唯一的对象。
数组的每个对象首先使用 JSON.stringify 方法转换为 JSON 编码字符串。然后使用 map() 方法将 JSON 编码的字符串映射到一个数组。通过将此数组传递给新的集合构造函数来创建一个新集合。此步骤将删除所有重复的元素,因为 JSON 编码的字符串对于相同的元素是相同的。
然后使用 from() 方法将该集合转换为数组,并将该集合作为参数传递。这个数组不会有重复的对象。
例子:
How to remove duplicates
from an array of objects?
GeeksforGeeks
How to remove duplicates
from an array of objects?
Click on the button to remove
the duplicated in the array
Check the console for the output
输出:
- 输出:
- 点击按钮后: