2013-10-12 1 views
1
$(document).ready(function() { 
      var numbersArray = [10, 49, 90, 110, 150, 69, 59, 20, 20, 30]; 
      for (var i = 0; i < numbersArray.length; i++) { 
      //any constructor magic to make this refer to the number? 


       $('#data').append(numbersArray[i]).append('<br/>'); 

      } 
     }); 

이 루프 내부에서 수행해야 할 작업이 많았다 고 가정 해 봅니다. 코드를 더 짧게 만들 수 있고 this의 의미를 변경하여 더 읽기 쉽다고 생각합니까? 이것은 당신이 다음 할 계획 모든 경우jQuery 루프의 의미 변경

답변

5

당신은 사용할 수 있습니다 $.each

$.each([10, 49, 90, 110, 150, 69, 59, 20, 20, 30], function(){ 
    // this is an instance of number whose value is the number 
}); 

이것은 아마도 당신이 원하는 것입니다.

+0

예. 숫자가 rgb 값인 히트 맵 유형을 만들려고하고 jQuery 객체 rgb 값을 쉽게 스타일 지정할 수 있습니다. – wootscootinboogie

+0

'$ .each ([10], function() {console.log (this === 10)})'는 허위로 기록 될 것입니다. 그러나'=='를 사용하면 괜찮습니다. [내 블로그에서 설명해 드리겠습니다] (http://canop.org/blog/?p=307). –

+0

나는 체크 아웃 할 것이다. – wootscootinboogie

3

$(document).ready(function() { 
    var numbersArray = [10, 49, 90, 110, 150, 69, 59, 20, 20, 30]; 
    $('#data').append(numbersArray.join('<br/>')); 
}); 

데모 : Fiddle

당신이 루프에 원하는 this 참조를 사용하는 경우 사용 $.each()

$(document).ready(function() { 
    var numbersArray = [10, 49, 90, 110, 150, 69, 59, 20, 20, 30]; 

    $.each(numbersArray, function() { 
     $('#data').append(this).append('<br/>'); 
    }) 
}); 

데모 : Fiddle