2013-03-24 3 views
5

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의 백만을 반복 이외의 이러한 변수를 감지 할 수있는보다 효율적인 방법이 있는지 궁금합니다.

답변

7

모든 최상위 변수 (속성은 window)를 반복 할 수 있고 그 이름이 정규식 패턴과 일치하는지 테스트 할 수 있습니다. 일치하는 변수를 이전과 같이 수집하십시오.

var pattern = /^zzz[0-9]+/; 
for (var varName in window) { 
    if (pattern.test(varName)) { 
     ArrayOfAllFoundVariables.push(window[varName]); 
    } 
} 
1

Mikke는 :

for (element in window) { 
    if (element.substring(0,3) == 'zzz') { 
    ArrayOfAllFoundVariables.push(window[element]); 
    } 

}

에 날 이길하지만 숫자 부분 : ... 잘 Mikke ...

를 놓쳤다
관련 문제