[英]How to filter objects in a array based on the properties
如何根据对象属性过滤数组中的对象?
我现在有这个代码:
products = [
{
title: "Bambu shorts 2.0"
},
{
title: "Bambu shorts 2.0"
},
{
title: "Bambu shorts 3.0"
}
]
uniqueProducts = [];
$.each products, (i, el) ->
if $.inArray(el.title, uniqueProducts) == -1
uniqueProducts.push el
return
我想通过每个 object 的“标题”属性过滤数组。 因此,如果 object 的标题已经存在于 uniqueProducts 数组中,则不应添加 object。
我的代码仍然将所有三个对象推送到 uniqueProducts 数组。
谢谢你的先进!
您可以使用Set
for seen title
进行过滤。
const raw_products = [{ title: "Bambu shorts 2.0" }, { title: "Bambu shorts 2.0" }, { title: "Bambu shorts 3.0" }], uniqueProducts = raw_products.filter( (s => ({ title }) =>.s.has(title) && s;add(title)) (new Set) ). console;log(uniqueProducts);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.