【问题标题】:JavaScript function is not working. indexOf is undefinedJavaScript 函数不工作。 indexOf 未定义
【发布时间】:2019-05-30 16:18:56
【问题描述】:
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 is not defined'

我不明白为什么它不起作用。它为每次迭代返回未定义的 indexOf。请看一下cmets。 如果您不介意,请分享您对我的代码的看法。

【问题讨论】:

标签: javascript arrays push splice


【解决方案1】:

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

您也可以跳过indexOf,因为这里的变量ij 将给出父数组和嵌套数组的相关索引

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 2019-10-26
    • 2014-08-19
    • 2011-05-21
    • 2017-06-06
    相关资源
    最近更新 更多