我有一个2D数组,想要访问另一个数组,例如:

var arr = [['one','two'],['three','four']];
var arr2 = [1,1];


我想要arr [arr2 [0]] [arr2 [1]]处的值。还有另一种获取值的方法,因为如果我那样做,该行将变得很长且难以阅读。

就像是:

arr[arr2]


我知道这行不通,但是JavaScript中有类似的东西吗?

最佳答案

reducetry/catch一起使用,以确保没有会引发错误的值(例如arr2 = [1,1,2,3,4]

function evaluate(arr1, arr2)
{
    try
    {
      return arr2.reduce( (a, c) => a[c], arr);
    }
    catch(e) {}
}


演示版



function evaluate(arr1, arr2) {
  try {
    return arr2.reduce((a, c) => a[c], arr)
  } catch (e) {}
}

var arr = [['one','two'],['three','four']];
var arr2 = [1,1];

console.log(evaluate(arr, arr2))

关于javascript - 使用另一个阵列访问2D阵列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49818504/

10-09 15:27