在javascript中设置动态变量名称

时间:2019-08-17 00:00:12

标签: javascript arrays variables dynamic

我正试图使我的代码看起来更漂亮,该函数可能具有16个参数,并使用这些参数进行很多重复的代码。

以下是一些示例代码来演示我的问题:

function foo(varList, a, b, c, d, e, f, ...) {
  varList.map(bar => {
    console.log('Result: ' + bar);
  }
}

const vars = ['b', 'd', 'f'];
foo(vars, 0, 1, 2, 3, 4, 5);  

结果

b, d, f

我实际上是尝试访问那些变量名中的数据,因此应该打印:

1, 3, 5

有没有办法动态处理这样的变量?

1 个答案:

答案 0 :(得分:1)

正如@alfasin回答的那样,只需使用JavaScript Objects的力量。一个对象由键值对组成,其中每个key是一个字符串,而对应的value可以是一个任意JavaScript对象。

对于示例代码,您可以简单地编写:

const vars = {'b': 1, 'd': 3, 'f': 5};

例如,要访问某个对象键的值,请写入vars.bvars['b']以访问b(即1)的值。

相关问题