【发布时间】:2020-11-01 18:29:22
【问题描述】:
我有一个对象数组:
const books = [
{
title: 'Book',
author: 'Name'
},
{
title: 'Book2',
author: 'Name2'
}
];
我想使用 filter 方法将标题提取到一个数组中。到目前为止,我尝试了这个,但数组返回了 2 个原始对象:
const getTheTitles = function(array) {
const filteredArray = array.filter(function(book) {
return book.title;
})
return filteredArray;
}
我也试过了,但结果是一个空数组(不知道为什么):
const getTheTitles = function(array) {
const filteredArray = array.filter(function(book) {
book.title;
})
return filteredArray;
}
我知道这可以使用 map 来完成。但我正在尝试使用过滤器来完成它。
【问题讨论】:
-
你需要的是
map,而不是filter:const titles = books.map(book => book.title);。filter用于 FILTER 不用于映射 -
developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 您可以在此处阅读有关过滤器方法的信息,它显然不能满足您的要求
-
谢谢。如前所述,我知道能够使用地图。有没有办法使用过滤器来做到这一点?还是因为我无法指定过滤条件而不可能?
-
使用过滤器只能决定数组的哪一项应该在过滤后的数组中,但不能更改该项。
标签: javascript arrays filter