【发布时间】:2018-08-03 21:49:18
【问题描述】:
我在尝试过滤 javascript 中的嵌套数组时收到错误消息。任务是构建一个函数,用于过滤掉输入数组的任何子数组(如果它们包含特定元素)。
我当前的代码是:
function filteredArray(arr, elem) {
let newArr = [];
newArr = [...arr];
console.log(newArr);
for (var i=0; i < newArr.length; i++) {
newArr.filter(newArr[i] => newArr[i].indexOf(elem) >= 0);
}
return newArr;}
javascript 显然不喜欢我尝试根据子数组 newArr[i] 过滤 newArr,因为它指出 [] 是意外标记。这是怎么回事?
【问题讨论】:
-
您正在将箭头函数中的 newArr[i] 分配给一个变量。这是不可能的
-
将整个函数替换为
return arr.filter(subArr => !subArr.includes(elem)) -
这不是 lambdas 的工作方式,
x=>y主要是function(x){return y}的简短版本,这就是括号在那里没有意义的原因。
标签: javascript filter