ES6 过滤对象数组存在 属性
ES6 Filter array of object were a property exists
我正在尝试将对象数组过滤为 return 只有具有 属性 的对象,而其他对象没有。不是 属性 中的值,而是 属性 本身。
results [
{
"title": "Foo",
"value": 34
},
{
"value": 43
},
{
"title": "The Title",
"value": 99
]
在上面的例子中,我想要第一个和最后一个对象,因为它们在一个新的对象数组中有一个 'title' 属性。
我查看了 'filter',但它似乎适用于值。我该怎么做?
谢谢
您可以像下面的代码一样过滤项目,它会过滤标题 属性 是否存在。
const items = [
{
"title": "Foo",
"value": 34
},
{
"value": 43
},
{
"title": "The Title",
"value": 99
}
];
const filteredItems = items.filter(item => !!item.title)
使用Boolean wrapper,更清晰:
const filteredItems = items.filter(item => Boolean(item.title))
我正在尝试将对象数组过滤为 return 只有具有 属性 的对象,而其他对象没有。不是 属性 中的值,而是 属性 本身。
results [
{
"title": "Foo",
"value": 34
},
{
"value": 43
},
{
"title": "The Title",
"value": 99
]
在上面的例子中,我想要第一个和最后一个对象,因为它们在一个新的对象数组中有一个 'title' 属性。
我查看了 'filter',但它似乎适用于值。我该怎么做?
谢谢
您可以像下面的代码一样过滤项目,它会过滤标题 属性 是否存在。
const items = [
{
"title": "Foo",
"value": 34
},
{
"value": 43
},
{
"title": "The Title",
"value": 99
}
];
const filteredItems = items.filter(item => !!item.title)
使用Boolean wrapper,更清晰:
const filteredItems = items.filter(item => Boolean(item.title))