gpt4 book ai didi

javascript - 在 for 循环中填充数组 (JS)

转载 作者:行者123 更新时间:2023-12-03 02:39:39 26 4
gpt4 key购买 nike

我有js代码

var model = {
start: newstart,
end: newstop,
imei: imei
};
$.ajax({
url: dburl,
dataType: 'json',
type: 'GET',
data: model,
success: function (data) {
speeddata = data;

if (speeddata.length !== 0) {
for (var i = 0; i < speeddata.length; i++) {
path = "path=" + speeddata[i].Latitude2 + ',' + speeddata[i].Longitude2;
var googleurl = "https://roads.googleapis.com/v1/speedLimits?"
+ path + "&key=" + roadsapikey;
+ path + "&key=" + roadsapikey;
$.ajax({
url: googleurl,
dataType: 'json',
type: 'GET',
success: function (data) {

for (var i = 0; i < data.speedLimits.length; i++) {
speedobject.push({
speedlimits: data.speedLimits[i].speedLimit
});
}
console.log(speedobject);
}

});
}

}
},
error: function () {
alert("Error");
}
});

在此代码中,我从数据库获取数据并将其写入 speeddata 数组,数组中有 6 个元素。

   var speeddata = [{
Imei: 35745407257535, Latitude2: 50.9364, Longitude2: 3.12147, Speed: 8
},{
Imei: 35745407257535, Latitude2: 50.93918, Longitude2: 3.12485, Speed: 37
},{
Imei: 35745407257535, Latitude2: 50.93997, Longitude2: 3.12837, Speed: 7
},{
Imei: 35745407257535, Latitude2: 50.93834, Longitude2: 3.12893, Speed: 54
},{
Imei: 35745407257535, Latitude2: 50.9281, Longitude2: 3.13903, Speed: 56
},{
Imei: 35745407257535, Latitude2: 50.9219, Longitude2: 3.15888, Speed: 9
}];

此后,我需要获取 speeddata 中每个元素的速度限制并将其写入 speedobject。

我尝试像这里一样

 if (speeddata.length !== 0) {
for (var i = 0; i < speeddata.length; i++) {
path = "path=" + speeddata[i].Latitude2 + ',' + speeddata[i].Longitude2;
var googleurl = "https://roads.googleapis.com/v1/speedLimits?"
+ path + "&key=" + roadsapikey;
+ path + "&key=" + roadsapikey;
$.ajax({
url: googleurl,
dataType: 'json',
type: 'GET',
success: function (data) {

for (var i = 0; i < data.speedLimits.length; i++) {
speedobject.push({
speedlimits: data.speedLimits[i].speedLimit
});
}
console.log(speedobject);
}

});
}

}

但是当 console.log speedobject 时我有 6 次重复。

这是数组

Screen of google api array

因此,如果我想在表格中显示它,我将有 36 个条目,而不是 6

我的问题出在哪里?

感谢您的帮助。

最佳答案

据我了解,您希望有 6 个条目,每个条目都有一组速度限制,如下所示:

success: function (data) {
var speedLimits = []
for (var i = 0; i< data.speedLimits.length;i++) {
speedLimits.push(data.speedLimits[i].speedLimit);
}
speedobject.push({speedLimits: speedLimits})
console.log(speedobject);
}

关于javascript - 在 for 循环中填充数组 (JS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48383703/

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