我如何从一个数组someArray
中删除重复的元素,就像下面基于name
属性给出的条件,如果name
对于两个元素是相同的,但对于其中一个元素,type
是new
,原始的一个(没有类型new)将被保留?someArray = [{id: 1, name:"apple"}, {id: 2, name:"mango"}, {id: 3, name:"apple", type: "new"}, {id: 4, name:"orange"}, {id: 5, name:"orange", type: "new"}, {id: 6, name: "pineapple", type: "new"}]
到[{id: 1, name:"apple"}, {id: 2, name: "mango"}, {id: 4, name:"orange"}, {id: 6, name: "pineapple", type: "new"}]
5条答案
按热度按时间ghg1uchk1#
您可以使用Map来按名称club值,如果有两个同名的值,只需使用没有
type = "new"
的值4ioopgfo2#
您可以使用Array.prototype.reduce并筛选出满足条件的项。
你也可以使用Spread Syntax。
nkoocmlb3#
你可以迭代你的数组并计算是否是'type:new'并且不存在,则弹出该项。
iqih9akk4#
pbossiut5#
要从对象数组中删除重复项,请执行以下操作:
1.创建一个用于存储唯一对象ID的空数组。
1.使用Array.filter()方法过滤对象数组。
1.在新阵列中仅包括具有唯一ID的对象。