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

时间:2019-05-17 06:12:34

标签: object ecmascript-6 properties find exists

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

  SELECT id, SUM (weight)
    FROM (SELECT test.*,
                 ROW_NUMBER ()
                     OVER (PARTITION BY id, categ ORDER BY weight DESC)
                     rn
            FROM test) sub
   WHERE sub.rn < 6
GROUP BY id;

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

我查看了“过滤器”,但它似乎可以与值一起使用。

谢谢

2 个答案:

答案 0 :(得分:2)

使用 Boolean 包装器,更清晰:

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

答案 1 :(得分:0)

您可以过滤类似于以下代码的项目,它会过滤title属性是否存在。

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

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