2014-11-06 3 views
1

$ .each 대신 for 루프를 사용하고 싶습니다. 어때?대신 jQuery 대신 사용하기

var units = { 
    'a': 'Hello', 
    'b': 'World' 
}; 

for (var prop in units) { 
    console.log(prop); 
    console.log(units[prop]); 
} 

당신이 배열이있는 경우 :

$ .each 나의 코드가 그대로 : 당신이 객체가있는 경우

$.ajax({ 
    type: "POST", 
    url: 'get_units', 
    data: { id : '1'}, 
    success: function (units) { 
     $.each(units, function (index, val) { //I want change this line to for loop 
      alert(index+'-'+val) // I want two result 
     }); 
    }, 
    "error": function (x, y, z) { 
     alert("An error has occured:\n" + x + "\n" + y + "\n" + z); 
    } 
}); 
+0

'for' 루프를 사용할 때의 문제점은 무엇입니까? –

+2

$. 각 기능의 문제점은 무엇입니까? – SKG

+0

@SKG'$ .each'는 아마도 불필요한 복잡성을 추가합니다. 한편으로는 각 반복마다 함수 호출을 수행해야하며 다른 한편으로는 새로운 범위가 생성 될 수 있습니다. 그래서'$ .each'를'for'로 변경하는 것은 이해하기 쉬운 아이디어 일 수 있습니다. –

답변

0

당신은 for...in를 사용하십시오 , 사용 for :

var units = ['Hello', 'World']; 

for (var i = 0, l = units.length; i < l; i++) { 
    console.log(i); 
    console.log(units[i]); 
} 
+1

참고로 : for ... in' 루프에서 나는 그것을'index'라고 부르지 않을 것입니다. 'key','prop' 또는 비슷한 것. 'index'는'Array'와 함께 사용하는 것이 더 일반적이며'0 .. n' 범위의 숫자 값임을 나타냅니다. –

+0

@ t.niese Nice, Done';)'. – dashtinejad

0

,이

for(i = 0; i < units.length; i++) { 
    alert(i+'-'+units[i]); 
} 
관련 문제