【发布时间】:2018-05-10 23:40:39
【问题描述】:
我有以下对象数组:
arr = [
{
name: "john",
age: 24,
gender: "male"
},
{
name: "jane",
age: 27,
gender: "female"
},
{
name: "joe",
age: 29,
gender: "male"
}
]
我正在尝试将name 和age 属性过滤到一个新数组中。我试过这个:
const newFields = arr.filter((item) => {
return (
item.name && item.age
);
});
但由于某种原因,newFields 返回一个空数组。
【问题讨论】:
-
将
filter更改为map并返回{name: item.name, age:item.age} -
它工作得非常好。也许在数组过滤和数组定义之间你改变了数组并且数组已经是空的?
-
filter使用它从数组中删除条目。map使用它来转换 数组中的条目。你想要后者。
标签: javascript arrays object filter