【发布时间】:2018-03-22 19:28:37
【问题描述】:
我有一个数组,每个数组都包含两个元素。如何通过过滤第一个元素从数组中返回第二个元素?
例如,我有以下数组,我的函数应该返回每个子数组的第二个元素,其中第一项是8:
var array = [[8, 'first'], [8, 'second'], [1, 'empty'], [8, 'third'], [9, 'empty']];
预期结果:['first', 'second', 'third']
这是我迄今为止实现的,但它返回两个元素,而不是每个数组中的第二个元素,并匹配...
var array = [[8, 'first'], [8, 'second'], [1, 'empty'], [8, 'third'], [9, 'empty']];
var result = array.filter(function(item){
if(item[0] == 8) {
return item[1];
}
});
console.log(result);
【问题讨论】:
-
filter不是map- 我想你想要map(并过滤掉不需要的结果) -
我同意上面的评论:我认为您需要重新阅读
filter上的文档。根据您的过滤函数的返回,它将保留或不保留当前元素。它不会修改它或使用您返回的对象。
标签: javascript arrays ecmascript-5