我有值的数组是这样的:如何数组值转换为变量
multi_arr = ["resi_spec","resi_desc"];
因此,每个数组值被认为是一个变量,我想动态存储这些变量的一些值是这样的:
resi_spec = "good morning"
resi_desc = "good evening";
这样数组值被转换为变量。这可能吗?
我不想用use obj [resi_spec]像这样,如果我只输入resi_spec就意味着我使用数组而不是变量,我会早上好。
我有值的数组是这样的:如何数组值转换为变量
multi_arr = ["resi_spec","resi_desc"];
因此,每个数组值被认为是一个变量,我想动态存储这些变量的一些值是这样的:
resi_spec = "good morning"
resi_desc = "good evening";
这样数组值被转换为变量。这可能吗?
我不想用use obj [resi_spec]像这样,如果我只输入resi_spec就意味着我使用数组而不是变量,我会早上好。
最好的办法是,如波纹管
multi_arr = ["resi_spec","resi_desc"];
var obj = {};
obj[multi_arr[0]] = "good morning";
obj[multi_arr[1]] = "good evening";
console.log(obj); //prints Object {resi_spec: "good morning", resi_desc: "good evening"})
一个对象,你可以访问诸如波纹管
console.log(obj["resi_spec"]); //prints "good morning";
console.log(obj["resi_desc"]); //prints "good evening";
变量,你可以使用一个对象来保存值:
var multi_arr = ["resi_spec","resi_desc"];
var resi = {};
multi_arr.forEach(function(val) {
resi[val] = "good morning";
});
显然,你将要为每个对象的属性,它您可以与助手功能实现不同的值:
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);
});
您也千万以下。虽然不真的建议,因为你会创建全局变量。 Jsfiddle
var varNames = ["name1", "name2", "name3"];
for(var i = 0; i < varNames.length; i++){
window[varNames[i]] = i;
}
console.log(name1); // 0
console.log(name2); // 1
console.log(name3); // 2
你从哪里得到应该适合的值? – Hacketo
这听起来像你应该使用的对象。 – saadq
你从哪里得到'早上好'和''晚上好'的价值?' – Halcyon