javascript - 处理具有许多变量的操作的更好方法?
问题描述
我有大约 30 个值存储为变量:
var a = 1,
b = 2,
c = 3,
...
z = 26,
aa = 27,
ab = 28;
我想扩大规模。我使用数组这样做:
array = [a, b, c];
var scale = 5;
for (var i = 0; i < array.length; i++){
array[i] = array[i] * scale; // Some simple arithmetic
}
要获得新的缩放值,我需要重新分配我的变量。
var a = array[0],
b = array[1],
c = array[2],
...
z = array[26],
aa = array[27],
ab = array[28];
这很麻烦,即使我使用解构赋值。有什么更好的方法来管理我拥有的所有信息?
解决方案
使用普通变量你不会找到更聪明的方法。我建议使用对象,因为数组是匿名的,因为您通过索引而不是名称访问内容:
let groupA = {
a: 1,
b: 2,
c: 3
}
然后你可以通过迭代和乘法
for (let key in groupA) {
if (groupA.hasOwnProperty(key) {
groupA[key] *= 5;
}
}
但您仍然可以单独访问每个字段
console.log(groupA.a);
推荐阅读
- angular - 处理ngrx路由器默认操作时如何访问自定义序列化程序
- kotlin - Kotlin JUnit test with mulitple expected exceptions
- mpi - when using MPI_Isend() MPI_and Irecv(), should the pair use the same request? in case the message is already an array, how it should be passed?
- server - Does postman mock server can return status code 449
- python - Trying to access data in Elasticsearch indecies
- list - Flutter How do I iterate over each item in a ListView?
- google-apps-script - Google 日历是否有“非此即彼”搜索运算符?我的工作表脚本可以执行“非此即彼”日历搜索吗?
- python - Django - 没有模型与给定的查询匹配
- python - 将Mysql中的图像直接显示到kivy窗口
- python - 与其他服务器混合的全局变量