在多维数组中搜索第二个数组的最佳方法

时间:2017-11-27 21:32:45

标签: javascript

我有一个值网格,由二维数组表示。

以下是数据的文字表示:dataValues[row][column]

所以dataValues[3][0]将是第四行,第一列。

好吧,我需要在每行的第一列搜索一个值,我正在寻找计算密集度最低的方法。

我知道我可以用循环来做到这一点:

for (var i in dataValues) {
  if (dataValues[i][0] == "Totals") {
    matchingRow = i;
    break;
  }
}

但我喜欢尽可能避免循环,我想不出在这里以有用的方式应用Array.prototype.indexOf的方法。

循环和indexOf之间是否存在计算差异?在我看来,indexOf可能只是运行自己的循环。

1 个答案:

答案 0 :(得分:0)

您可以使用{{3}}一旦满足条件就会中断并返回第一个匹配元素,如果不满足条件则返回undefined

let matchingItem = dataValues.find(arr=> arr[0] == "Totals");
if(matchingItem ){
  // do what you want with matching elemnt of dataValues
}