我有一个像这样的javascript变量列表 var_111,var_222,var_132,var_122bb ...
下划线后面的字符串是来自远程服务器的响应,所以我不能事先指定它们。
我想运行一个迭代遍历所有var_ *变量的for循环。例如console.log所有变量。
我想可以用正则表达式完成,但我还没有学到它。希望有人可以帮忙!
答案 0 :(得分:1)
str.match(/var_\d+/g).forEach(function(v)
{
console.log(v); // v here is a variable such as var_111
});
基于下面的说明,假设实际发生的是服务器正在设置一堆全局变量,其名称是您无法控制的,您想要的是:
for (var k in window)
if (window.hasOwnProperty(k) && k.match(/^var_\d+$/))
console.log(k)
这会遍历所有全局变量并将它们与正则表达式进行比较,以获得var _ ###类型的变量,然后将它们打印出来。您可以使用window[k]
获取值。这是有效的,因为所有全局变量实际上都是window
对象的属性。