我正试图使我的代码看起来更漂亮,该函数可能具有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
有没有办法动态处理这样的变量?
答案 0 :(得分:1)
正如@alfasin回答的那样,只需使用JavaScript Objects的力量。一个对象由键值对组成,其中每个key
是一个字符串,而对应的value
可以是一个任意JavaScript对象。
对于示例代码,您可以简单地编写:
const vars = {'b': 1, 'd': 3, 'f': 5};
例如,要访问某个对象键的值,请写入vars.b
或vars['b']
以访问b
(即1
)的值。