我有一个看起来像这样的数组:
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。通过名称定位,我最终得到了基于其原始位置的数组中的对象,这是行不通的。
我正在寻找一种使用普通 JavaScript 的方法来比较每个重复对象的值并推送具有最低值的对象。
每个产品名称最多可以出现三次。值只能是 1 或 2。
一只斗牛犬
慕哥9229398
相关分类