我想同时返回内部数组和外部数组,例如:[[3],[4],[5]];
这不起作用:
var arr = [[1],[2],[3],[4],[5]];
arr.filter(function(el){
return el.filter(function(inner){
return inner >= 3;
});
});
这也不起作用:
var arr = [[1],[2],[3],[4],[5]];
arr.map(function(el){
return el.filter(function(inner){
return inner >= 3;
});
});
答案 0 :(得分:3)
您可以使用array destructuring轻松访问回调函数中的内部数组元素:
const array = [[1],[2],[3],[4],[5]];
const filtered = array.filter(([inner]) => inner >= 3);
console.log(array); // original
console.log(filtered); // filtered
答案 1 :(得分:1)
map()和filter()函数不会改变数组,它们会返回一个包含结果项的新数组。
在显示给我们的代码中,您没有将结果分配到任何地方,而且,您正在尝试将数组与数字进行比较:
如果您想返回其包装数组内部的值,则可以这样做:
LocalBroadcastManager
仅过滤时就不需要map功能。