javascript - 在 Javascript 中使用两个变量从数组中进行选择

标签 javascript arrays

是否可以使用 varName1[varName2] 从数组中检索值。在下面的示例中,.el 是一个选择框,thisVal 可能 = 2 并且 thisName = 'B' 这应该导致答案 'U' 事实上我得到了未定义

<script>
var A = ['B','B','Z','Z']
var B = ['C','O','U','C2','C3','D']
var C = ['D','Z','D','Z']
  $('.el').on('change', function() {
    var thisVal = this.value
    var thisName = this.name
    var nextName = thisName[thisVal]
    alert( nextName );
  })
</script>

最佳答案

如果你的数组在全局范围内,你可以使用。

window[thisName][thisVal]

示例

var A = ['B','B','Z','Z'];
var B = ['C','O','U','C2','C3','D'];
var C = ['D','Z','D','Z'];

var thisVal = 2;
var thisName = 'B';

console.log(window[thisName][thisVal]);

作为替代方案,您可以使用对象来存储数组,并且使用对象代替窗口

示例

const obj = {
  A: ['B','B','Z','Z'],
  B: ['C','O','U','C2','C3','D'],
  C: ['D','Z','D','Z']
}

const thisVal = 2;
const thisName = 'B';

console.log(obj[thisName][thisVal]);

关于javascript - 在 Javascript 中使用两个变量从数组中进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49296283/

相关文章:

C将文件读入二维数组

c - 动态字符串数组: allocation in external function

java - 将一维数组转换为 9 列的二维数组

java - 创建一个数字数组而不循环?

javascript - 用JS改变一个div的多个属性

javascript - _POST_ORDER_FULFILLMENT_DATA_ MD5 值不匹配出现错误

javascript - 启用 Rational 类来处理数学运算符

c++ - 如何创建一个指针数组并使用 **P 将其指向 NULL?

javascript - 如何确定属性是否存在于 javascript 对象上

javascript - Mongodb 按另一个数组的顺序排序