【发布时间】:2020-11-26 04:57:41
【问题描述】:
我有一个看起来像这样的数组:
var array = [
{ name: "product1", rating: 1 },
{ name: "product3", rating: 2 },
{ name: "product1", rating: 2 },
{ name: "product2", rating: 2 },
{ name: "product3", rating: 1 },
{ name: "product4", rating: 2 },
{ name: "product2", rating: 2 }
]
我想消除具有重复名称的对象,但想保留评分最低的对象。最终得到:
var newarray = [
{ name: "product1", rating: 1 },
{ name: "product2", rating: 2 },
{ name: "product3", rating: 1 },
{ name: "product4", rating: 2 }
]
使用过滤器,由于评级不同,我最终在 newarray 中有两个 product1 和 product3。按名称定位,我最终会根据其原始位置在数组中找到对象,这是行不通的。
我正在寻找一种使用 vanilla javascript 的方法来比较每个重复对象的值并推送具有最低值的对象。
每个产品名称最多可出现 3 次。值只能是 1 或 2。
【问题讨论】:
标签: javascript arrays