javascript - 在javascript中设置动态变量名
问题描述
我试图让我的代码看起来更漂亮一些,这是一个可能有 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
有没有办法动态处理这样的变量?
解决方案
正如@alfasin 回答的那样,只需使用JavaScript Objects的强大功能。一个对象由键值对组成,其中每个key
都是一个字符串,对应的value
可以是一个任意的 JavaScript 对象。
对于您的示例代码,您可以简单地编写:
const vars = {'b': 1, 'd': 3, 'f': 5};
要访问某个对象键的值,可以写入vars.b
或vars['b']
访问b
(1
例如)的值。
推荐阅读
- regex - 从字符串中删除特定字符以整理 URL
- java - 如何使我的依赖项对其他开发人员可用?
- sqlite - Discord.js 使用 better-sqlite3 向 XP 系统添加排名功能
- c - C - 如何检查指针是否已从另一个指针中释放?
- regex - 字符 0:预期的字符集
- javascript - 点击关闭关闭?
- r - 如何编写循环时间序列的 r 代码?
- sql-server - FireDAC 查询将 SQL 语句中的特殊字符删除到 SQL Server
- python - 如何通过xarray中的坐标组合二维平铺数据集
- java - 在 Java 中对 int[] 原始数组进行排序的优化且高效的方法