Javascript添加第二维不返回结果

时间:2013-12-03 16:04:12

标签: javascript jquery arrays

我有一个网站,如这个jsfiddle所示:

http://jsfiddle.net/bAz3y/

$.getJSON('eventbrite.json', function(data) {
    var events = [];
    var j = 0;

    for (var i in data) {
        events[i][0] = data[i].event.title;
    }

    $('.btn-lg').click(function() {
        $('#tester').replaceWith("<div id='tester'>" + events[j][0] + "</div>");
        j = j + 1;
    })
    $("div.swiper").on("swipe",function() {
        $('#tester').replaceWith("<div id='tester'>" + events[j][0] + "</div>");
        j = j + 1;
    })
});

我正在尝试获取第二个维度来存储事件标题,以便我可以在events[j][1]events[j][2]中添加事件日期和距离。

但是,添加第二个维度(即events[i][0])表示不会返回任何结果。

1 个答案:

答案 0 :(得分:1)

问题是for循环,events[i]未定义,因此events[i][0]将失败

1.Solution是

for (var i in data) {
    events[i] = [data[i].event.title, data[i].event.some];
}

2.另一种方法是使用$ .each()并执行

var events = [];
var j = 0;

$.each(data, function(_,item){
    events.push([item.event.title, data[i].event.some])
});

3.第三种方法是使用$ .map()

var j = 0;

var events = $.map(data, function (item) {
    return [[item.event.title, data[i].event.some]]
});