获取以特定字符串开头的所有JS变量
问题描述:
我正在为一个网站编写一个插件,除非我能够向其中添加JS代码,否则我无法控制它的一个插件(实际上它是一组由过时产生的html文档wysiwyg html编辑器)。获取以特定字符串开头的所有JS变量
为了我的目的,我需要获取以某种方式命名的所有变量。名称始终以zzz
开头并以数字结尾,从zzz1
到zzz999999
。现在我做的是以下几点:
for (var i=1; i<999999; i++) {
if (typeof window['zzz'+i] !== 'undefined') {
ArrayOfAllFoundVariables.push(window['zzz'+i])
}
}
我不知道是否有检测不是通过undefineds一百万迭代等这些变量更有效的方式。
答
您可以遍历所有顶级变量(window
的属性),然后测试它们的名称是否匹配某个正则表达式模式。像以前一样收集匹配的变量。
var pattern = /^zzz[0-9]+/;
for (var varName in window) {
if (pattern.test(varName)) {
ArrayOfAllFoundVariables.push(window[varName]);
}
}
答
Mikke打我吧:)
for (element in window) {
if (element.substring(0,3) == 'zzz') {
ArrayOfAllFoundVariables.push(window[element]);
}
}
,但我错过了数部分:) ...做得好Mikke ...