【问题标题】:Javascript - 2 var input in arrayJavascript - 数组中的 2 个 var 输入
【发布时间】:2013-03-27 12:50:55
【问题描述】:

我需要我的两个元素像这样进入我的 var busList(这是硬编码的):

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

【问题讨论】:

  • 不确定你想把它放进去,但是看看 Array.push() 应该做你想做的事?
  • 您的原始列表是什么样的,您是否正在推送busList
  • 请准确写出:你得到的输入,以及你想要得到的输出。
  • 我是我的实际代码(不是硬编码的)——我在数组中什么也没有。另一个硬编码的显然有效。
  • 分享你的完整代码

标签: javascript jquery arrays list


【解决方案1】:

你需要先创建一个数组(在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)
});

【讨论】:

  • 是的,他是对的。控制台会显示“ReferenceError: busList is not defined”
  • 这似乎解决了一半的问题! (给点有用的答案)。但它并没有在代码中进一步深入(在我的循环之外),它再次变空。在循环中有效:alert(busList[2].RuteNr).. 在循环外,它是空的。注意:busList 是在方法外定义的。
  • @dinosaur 在busList = []; 之前删除var,因为我假设你想要的是一个全局变量
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-24
  • 2022-01-17
  • 2011-12-14
  • 2012-07-10
  • 1970-01-01
  • 2014-08-28
相关资源
最近更新 更多