繁体   English   中英

如何根据属性过滤数组中的对象

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM