【发布时间】:2018-12-29 06:25:48
【问题描述】:
我有大约 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];
这很麻烦,即使我使用解构赋值。有什么更好的方法来管理我拥有的所有信息?
【问题讨论】:
-
数字和字符串是不可变的。你不能修改它们,你只能重新分配。这就是为什么人们喜欢像数组这样的数据结构。无需引用一堆单独的变量名即可轻松重新分配内容。
-
@PM77-1 查看我的编辑
-
@MarkMeyer 就我而言,我正在执行一堆三角函数;这些值指的是三角形边的角度和长度;出于这个原因,我想使用变量名。像字典这样的东西会更有意义吗?
-
@AlexJ 是的,对象将是一个不错的选择。如上所述,您可以通过数组传递变量并解构:
[a, b, c] = [a,b,c].map(i => i*5),但这比仅使用数组或对象更麻烦。
标签: javascript pass-by-reference pass-by-value