当我试图过滤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不喜欢我尝试根据子数组newArri过滤newArr,因为它声明[]是意想不到的标记。这里发生了什么事?
发布于 2018-08-04 05:59:47
使用Array#filter
和Array#includes
,您可以非常容易地过滤出包含特定元素的数组:
const filteredArray = (array, elem) => array.filter(subArray => !subArray.includes(elem));
let testArr = [[1,2,3,4, "a"],[1,2,3,4,8],[1,2,3,4, "a"],[1,2,3,4,5]];
console.log(filteredArray(testArr, "a"));
https://stackoverflow.com/questions/51680465
复制相似问题