我有一个网站,如这个jsfiddle所示:
$.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]
)表示不会返回任何结果。
答案 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]]
});