2012-12-30 1 views
0
for i in [name, matches_total, matches_won, matches_lost]: 
    doSomething(i) 

JS에 대해이 작업을 시도했지만 작동하지 않았습니다. 기본적으로, 각 변수에 대해해야 할 일은 무엇이든하고 싶습니다. JS로 어떻게 할 수 있습니까?파이썬에서 목록 => 자바 스크립트 번역

내 시도 :

for (i in [name, matches_total, matches_won, matches_lost]){ 
    doSomething(i); 
} 

답변

1
for (var i = 0; i < list.length; ++i) { 
    doSomething(list[i]); 
} 

루프에 대한 두 종류의 개체에 대한 디자인 for-in 루프, 루프 for (;;)위한 3 문이 있습니다. 배열 상에 for-in을 사용하는 것은 프로토 타입 체인을 가로 지르기 때문에 권장하지 않습니다.

+0

@Zoidberg'- 방법이 수정 된 사항에를 – 0x499602D2

+0

'i'입니다 인덱스가 아니라 요소 자체. 또한 for 루프 자체가 잘못되었습니다. –

+0

@ David : Zoidberg가 색인과 요소 문제를 해결했습니다. 당신은 그의 해결책으로 오프 - 바이 - 원을 고쳤습니다 – inspectorG4dget

3

JavaScript에는 완전히 동일한 in 연산자가 없습니다. 당신이 forEach를 지원하는 환경에있는 경우, 그것은 (스타일 비교적 가까이 당신은 루프 내부 익명 함수를 정의하는 것이, 파이썬 lambda 같은 비트 제외 :

[name, matches_total, matches_won, matches_lost].forEach(function(i) { 
    doSomething(i); 
}); 

이 경우 (이 경우 어디 '당신은 내가 아주 좋은 구문 찾을 수있는 방법으로이 문제를 단순화 할 수 있습니다) 각 목록 항목에 하나의 함수를 호출 재 :

[name, matches_total, matches_won, matches_lost].forEach(doSomething); 
0
var my_array = [name, matches_total, matches_won, matches_lost] 

for (var i in my_array){ 
    doSomething(my_array[i]); 
}