gpt4 book ai didi

Javascript推送无法将对象添加到数组

转载 作者:行者123 更新时间:2023-11-28 12:47:37 25 4
gpt4 key购买 nike

下面的代码不会对 lis 发出任何警报,但对 list 则发出警报。这是为什么?请注意,它肯定会到达 lis.push 8 次的推送线。

var lis = [], lat, lng;
$.getJSON("/locations/locations_list", function(data) {
$.each(data.Locations, function(index, arr) {
lis.push({lat:'aa', lng:'aa'});
});
});
alert(lis);

var i, list = [], rlat=lat2-lat1, rlng=lng2-lng1;
for(i=0; i<500; i++){
lat = lat1 + rlat * Math.random();
lng = lng1 + rlng * Math.random();
list.push({lat:lat, lng:lng, data:i});
}
alert(list);

最佳答案

您在 getJson 回调执行之前提醒 lis,因此数组尚未填满。请注意,jquery 的 ajax 回调是异步的,因此即使代码看起来与第二种情况相同,但实际执行顺序并非如此,因此结果也不是...

尝试:

$.getJSON("/locations/locations_list", function(data) {
$.each(data.Locations, function(index, arr) {
lis.push({lat:'aa', lng:'aa'});
});
alert(lis);
});

关于Javascript推送无法将对象添加到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6017359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com