例如,如何在不迭代数组的情况下实现以下功能?
var a = [1, 2, 3] * 5; // a should equal [5, 10, 15]
Run Code Online (Sandbox Code Playgroud) 我试图通过使用JSONP的jQuery AJAX调用从Flickr获取一堆照片数据,但我不想立即使用这些数据.相反,我想保留它以供日后使用.在一个复杂的情况下,我想让用户对预取的数据执行不同的查询.在更简单的情况下,我想在每次用户单击按钮时加载下n个图像.
现在,我正在测试下面最基本的功能,它是根据这个问题的最佳答案改编的:JQuery - 将ajax响应存储到全局变量中
但是,检索到的JSON数据不会存储在jsonData变量中.我将alert语句调试,奇怪的是getData()警报是在回调函数中的警报之前触发的.为什么会这样?
var dataStore = ( function() {
var jsonData;
$.ajax({
type: "GET",
url: "http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?",
dataType: "json",
data: {
tags: "dog",
tagmode: "any",
format: "json"
},
success: function(data) {
jsonData = data;
alert(jsonData);
}
});
return { getData : function()
{
if (jsonData) return jsonData;
else alert("no data!");
}};
})();
var stuff = dataStore.getData();
$.each(stuff.items, function(i,item) {
$("<img/>").attr("src", item.media.m).appendTo("#images");
if ( i == 3 ) return false;
});
Run Code Online (Sandbox Code Playgroud)