在JavaScript中过滤嵌套数组的问题

时间:2018-08-03 21:49:18

标签: javascript filter

尝试在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,因为它指出[]是意外标记。这是怎么回事?

1 个答案:

答案 0 :(得分:0)

使用Array#filterArray#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"));