如何根据属性过滤数组中的 objects
How to filter objects in a array based on the properties
如何根据 objects 属性过滤数组中的 objects?
我现在有这个代码:
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.
我的代码仍然将所有三个 object 推送到 uniqueProducts 数组。
谢谢你的进步!
您可以使用 Set
进行过滤以查看 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);
如何根据 objects 属性过滤数组中的 objects?
我现在有这个代码:
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.
我的代码仍然将所有三个 object 推送到 uniqueProducts 数组。
谢谢你的进步!
您可以使用 Set
进行过滤以查看 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);