首页 > 解决方案 > javascript将值分配给另一个数组中的变量

问题描述

我怎么能做这样的事情?

var x,y,z;
vars = [x,y,z];
vals = [55,66,77]

for(i in vars) {
    vars[i] = vals[i]
}

console.log(x) // undefined

我正在尝试分配55 to x66 to y并且77 to z不使用解构,因此我可以像console.log(x)等一样引用它们。我怎样才能做到这一点?

标签: javascript

解决方案


问题在于逻辑。

所以基本上当你使用 vars[i] = 'something' 设置一个值时,你实际上是在将值设置为数组的第 i 个索引。

vars = [x,y,z]; - > compiles to -> var = [undefined,undefined,undefined]

and then if

vars[0] = 1;

vars =  [1,undefined,undefined]

But the value of X remains unchanged. 

推荐阅读