2015-01-17 3 views
1

[경고! 나쁜 생각이 앞두고]특정 문자열로 시작하는 모든 변수에 값을 할당하십시오.

나는 이것이 이상한 질문이라는 것을 알고 있지만 설문 조사를 감지하는 스크립트 (JavaScript로 작성)를 작성하고 있습니다. 그래서, 설문 조사의 특정 종류의 다음 특정 단어로 시작하는 변수의 무리, 그리고 선언과 같이, 이름에 추가 임의의 숫자 :

variableName_465; 
variableName_212; 
variableName_123; 

은 그래서 그들 모두가 false로 설정한다고 가정하자 어떻게 그들을 모두 사실로 설정합니까? 전역 변수에 변수를 기록하는 루프가 있습니다.

for (var i in window) 
{ 
    console.log(i, typeof window[i], window[i]); 
} 

그러나 루프에 대한 실제 변수를 변경하지 않는 내부 i = true;, 나는 내가 실제로 새로운 하나를 만드는거야 추측.

이것이 수행 가능한지에 대한 실마리가 없습니다. 고마워. 네 도움 덕분에. 고마워.

+1

가능하지만 다시 생각해 봐야한다는 끔찍한 생각입니다. – adeneo

+0

나는 생각이 끔찍한 것에 대해 직감적이었고, 그 이유 중 하나는 아마도 다른 스크립트를 방해하거나 너무 느리거나 신뢰할 수 없다는 것입니다. 이게 옳은 거니? 그것에 대해 다른 점이 있습니까? 그럼에도 불구하고 나는 그것을하는 방법을 찾고 싶다. 나는 그 변수들을 반대로 설정하는 것이 실제로 전체 스크립트를 패배시키는 것을 발견했다. (그것은 내가하고 싶은 것입니다). 나는 재미를 위해서만 알고 싶다. –

답변

0

i (변수 이름)이 아닌 window[i] (변수 i의 값)을 수정하려고합니다. 따라서 다음과 같이 할 수 있습니다.

for (var i in window) { 
    if (i.indexOf('variableName') == 0){ 
     window[i] = true; 
    } 
} 
+0

좋아요! 고마워요, 실제로 복잡한 문제는 아니 었습니다. 아마 내 게시물에 면책 조항을 추가해야한다고 생각합니다. –

관련 문제