ES6过滤包含特定属性的对象数组

4
我正在尝试过滤一个对象数组,只返回具有其他对象没有的属性的对象。不是属性中的值,而是属性本身。最初的回答:
results [
   { 
      "title": "Foo",
      "value":  34
   },
   {
       "value": 43
   },
   {
       "title": "The Title",
       "value": 99
]

在上面的示例中,我想要具有“title”属性的第一个和最后一个对象,在一个新的对象数组中。我查看了“filter”,但它似乎只适用于值...我该怎么做?
谢谢
2个回答

8
您可以像以下代码一样筛选项,它会过滤掉标题属性不存在的项。
    const items = [
       { 
          "title": "Foo",
          "value":  34
       },
       {
           "value": 43
       },
       {
           "title": "The Title",
           "value": 99
       }
    ];
    

    const filteredItems = items.filter(item => !!item.title)
    

在JS中,!!代表什么意思? - Ilija Iličić
@IlijaIličićhttps://dev59.com/jXRA5IYBdhLWcg3w6SRH - Fatih Turgut

5

使用Boolean包装器,更清晰易懂:

const filteredItems = items.filter(item => Boolean(item.title))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接