0

次のようにvarbusListに入るには2つの要素が必要です(これはハードコードされています):

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}];

残念ながら、これは機能しません。要素は配列に入りません。何か助けはありますか?

編集:(完全なコード)

 $.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++;
 }
});
4

1 に答える 1

2

counter最初に(ループの前に)配列を作成する必要があります

busList = [];

その後、counterループで

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)
});
于 2013-03-27T12:53:29.900 に答える