ES6 对象的过滤器数组是一个属性存在

Dob*_*ell 2 properties exists object find ecmascript-6

我正在尝试过滤一组对象,以仅返回具有其他对象不具有的属性的对象。不是属性中的值,而是属性本身。

results [
   { 
      "title": "Foo",
      "value":  34
   },
   {
       "value": 43
   },
   {
       "title": "The Title",
       "value": 99
]
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,我想要第一个和最后一个对象,因为它们在一个新的对象数组中具有 'title' 属性。

我查看了“过滤器”,但它似乎适用于值.. 我该怎么做?

谢谢

Fat*_*gut 6

您可以像下面的代码一样过滤项目,它过滤标题属性是否存在。

    const items = [
       { 
          "title": "Foo",
          "value":  34
       },
       {
           "value": 43
       },
       {
           "title": "The Title",
           "value": 99
       }
    ];
    

    const filteredItems = items.filter(item => !!item.title)
    
Run Code Online (Sandbox Code Playgroud)


kli*_*kli 5

使用布尔包装器,更清晰:

const filteredItems = items.filter(item => Boolean(item.title))
Run Code Online (Sandbox Code Playgroud)