如何将数组值转换为变量

SSN*_*SSN 3 javascript variables dynamic-variables

我有一个像这样的数组:

multi_arr = ["resi_spec","resi_desc"];
Run Code Online (Sandbox Code Playgroud)

所以每个数组值都被视为一个变量,我想动态地存储这些变量的一些值,如下所示:

resi_spec = "good morning"
resi_desc = "good evening";
Run Code Online (Sandbox Code Playgroud)

这样就可以将数组值转换为变量.这可能吗?

我不想像这样使用obj [resi_spec],如果我只是输入resi_spec意味着我使用数组不变量,我会早上好.

phe*_*ris 6

您可以使用对象来保存值:

var multi_arr = ["resi_spec","resi_desc"];
var resi = {};
multi_arr.forEach(function(val) { 
    resi[val] = "good morning"; 
});
Run Code Online (Sandbox Code Playgroud)

显然,您需要为每个对象属性设置不同的值,您可以使用辅助函数来完成这些值:

var lookupHelper = function(key) {
    if (key == 'resi_spec') return 'good morning';
    if (key == 'resi_desc') return 'good evening';
};
var multi_arr = ["resi_spec","resi_desc"];
var resi = {};
multi_arr.forEach(function(val) { 
    resi[val] = lookupHelper(val); 
});
Run Code Online (Sandbox Code Playgroud)

  • 好的方法,虽然如果你想拥有不同的值,`forEach`方法将毫无用处.但是你可以使用另一个数组...... (2认同)