2013-03-27 2 views
0
I (이이 하드 코딩)이 같은 내 var에 busList에 가서 내 두 가지 요소가 필요

2 VAR 입력 : 자바 스크립트 - 배열

var busList = [ 
{ RuteNr: '901', RuteNavn: 'Vejle - Kolding'}, 
{ RuteNr: '901-xs', RuteNavn: 'Kolding - Vejle'}, 
{ RuteNr: '401', RuteNavn: 'Kastrup - arhus'}]; 

그러나

실제 코드에서, 나는 목록에서 모두를 수신하고 . 따라서 나는 이렇게하고있다 :

rutenr = data.busliste[counter].RuteNr; //this line works fine 
    rutenavn = data.busliste[counter].RuteNavn; //this line works fine 
    var busList = [{ RuteNr: rutenr , RuteNavn: rutenavn}]; 

불행히도 이것은 작동하지 않는다. 요소가 배열로 들어 가지 않습니다. 도움이 되었습니까?

편집 : (전체 코드) 당신은합니다 (counter 루프 전에) 먼저 배열을 만들 필요가

$.get('http://localhost:7120/LocationService/GetRouteList', function(data) { 
$('.result').html(data); 
var counter = 0; 
for (var i in data.busliste) 
{ 
    rutenr = data.busliste[counter].RuteNr; 
    rutenavn = data.busliste[counter].RuteNavn; 
    busList.push({ RuteNr: rutenr , RuteNavn: rutenavn}); 
    counter++; 
} 
}); 
+0

잘 모르겠지만 Array.push()를 살펴보고 무엇을 시도해야합니까? –

+0

원래 목록은 어떻게 보이며'busList'를 밀고 있습니까? –

+0

정확하게 입력하십시오. 입력 한 내용과 해당 입력에 대해 얻고 자하는 출력. –

답변

2

counter 루프에서 다음

busList = []; 

rutenr = data.busliste[counter].RuteNr; 
rutenavn = data.busliste[counter].RuteNavn; 
busList.push({ RuteNr: rutenr , RuteNavn: rutenavn}); 

업데이트 :

$.get('http://localhost:7120/LocationService/GetRouteList', function(data) { 
    $('.result').html(data); 
    busList = []; 
    $.each(data.busliste, function(i, v) { 
       busList.push({ 
          RuteNr : v.RuteNr, 
          RuteNavn : v.RuteNavn 
         }); 
      }); 
    console.log(busList) 
}); 
+0

예. 콘솔에 "ReferenceError : busList is not defined"라고 표시되었을 것입니다. –

+0

이것은 문제의 절반을 해결 한 것 같습니다! (유용한 답을 얻었습니다.) 하지만 그것은 코드에서 더 이상 내려 가지 않습니다 (내 루프 바깥 쪽), 그것은 다시 비게됩니다. 루프에서이 작동합니다 : alert (busList [2] .RuteNr) .. 외부 루프, 그것은 비어 있습니다. 주 : busList는 메소드 외부에 정의됩니다. – Rad

+1

@dinosaur 당신이 원하는 것이 전역 변수라는 가정 때문에 @dinosaur는'busList = [];'전에'var'을 제거합니다. –