JavaScript函数不起作用。 indexOf未定义

时间:2019-01-04 04:22:27

标签: javascript arrays push splice

function filteredArray(arr, elem) {   let newArr = []; 
  

遍历嵌套数组的每个元素。

for (let i=0;i<arr.length;i++){     
    for (let j=0;j<arr[i].length;j++){
  

如果迭代中的值等于传递的参数,则应该在正在进行的迭代中将变量x设置为等于嵌套数组的值

  if (arr[i][j]==elem){ 
    let x = indexOf(arr[i][j]);
  

应该删除索引等于变量x的元素。

    arr[i][j].splice(x,1);
  

然后应该将嵌套数组的剩余部分推到新数组,然后返回新数组。

      newArr[i].push(...arr[i][j]);
      }
    }
  }
  console.log(newArr);
  return newArr;
}

但是有一个错误,说“未定义indexOf”

我不明白为什么它不起作用。对于每次迭代,它都将indexOf返回为undefined。请看一下评论。 如果您不介意,请分享您对我的代码的看法。

1 个答案:

答案 0 :(得分:1)

indexOf是一种array/string方法,可以在array.indexOf(element)之类的数组上调用。在您的情况下,您需要通过array

您还可以跳过indexOf,因为此处的变量ij将给出父级数组和嵌套数组的相关索引