我有一个字符串数组:
arr = ["bar","baz"]
我有一些变数:
var bar = 'Hello';
var baz = 'bye';
使用数组,我该如何输出:
hello
bye
我知道如何循环,但是,我如何使用字符串来补充变量?
答案 0 :(得分:3)
最好的选择是将变量存储为对象中的属性,并以这种方式引用它们:
var data = {
bar: "Hello",
baz: "Bye"
};
arr.forEach((key) => doStuff(data[key]));
如果失败,如果您有权访问某个其他范围(在方法调用期间可能this
),则可以将该变量保留为范围内的属性。
如果您没有任何其他可用范围且没有好的选项,则所有全局变量都附加到self
(或window
,如果可用)范围,因此您可以使用相同的排序window[key]
访问权限。
答案 1 :(得分:1)
如果变量是全局变量,您可以使用window
元素的属性索引按名称访问它们:
arr = ["bar","baz"]
var bar = 'Hello';
var baz = 'bye';
arr.forEach(function(item) {
alert(window[item]);
});