我这样做:
var lat = data[i]["usp-custom-90"]["usp-custom-19"];
var lng = data[i]["usp-custom-90"]["usp-custom-20"];
var comboCoords = lat+","+lng;
但是comboCoords
是一个字符串,而我需要它作为数组并将其推送
我尝试过:
coords.push([lat, lng]);
但是由于我需要将它们分开,因此:
for (var i = 0; i < coords.length; i++) {
var pin = coords[i][0].split(',');
var latLng = new google.maps.LatLng(pin[0], pin[1]);
我明白了
TypeError:coords [i] [0] .split不是函数
我尝试过
var comboCoords = JSON.parse(lat+","+lng);
coords.push(comboCoords);
但是我明白了
意外的令牌,位于JSON中的位置6
如果我console.log
lat
和lng
得到:
["39.213"]0: "39.213"length: 1__proto__: Array(0)
(index):575 ["9.126"]
答案 0 :(得分:1)
感觉就像您想要的东西一样:
coords = [
[
39.213,
9.126
],
[
39.225,
9.135
]
];
本质上是一个矩阵,一个数组,每个数组包含2个元素。
我建议使用对象数组:
coords = [
{
lat: 39.213,
lng: 9.126
},
{
lat: 39.225,
lng: 9.135
}
];
在迭代data
时,可以将其填充到数组中。
var coords = [];
for(var i = 0; i < data.length; i++){
coords.push({
lat: data[i]["usp-custom-90"]["usp-custom-19"],
lng: data[i]["usp-custom-90"]["usp-custom-20"]
});
}
您现在将拥有一个包含对象的coords
数组。您可以像这样访问它:
var data = [{
"usp-custom-90": {
"usp-custom-19": 39.213,
"usp-custom-20": 9.126
}
}, {
"usp-custom-90": {
"usp-custom-19": 39.225,
"usp-custom-20": 9.135
}
}];
var coords = [];
for (var i = 0; i < data.length; i++) {
coords.push({
lat: data[i]["usp-custom-90"]["usp-custom-19"],
lng: data[i]["usp-custom-90"]["usp-custom-20"]
});
}
console.log(coords[0].lat + "," + coords[0].lng);
console.log(coords[1]['lat'] + "," + coords[1]['lng']);
希望有帮助。
答案 1 :(得分:0)
当前,lat
和lng
是数组。您无法split
数组-散布到推入的数组中:
coords.push([...lat, ...lng]);
或者仅使用索引访问:
coords.push([lat[0], lng[0]]);
答案 2 :(得分:0)
您在push语句中不需要[]。
var arr = [];
var lat = data[i]["usp-custom-90"]["usp-custom-19"];
var lng = data[i]["usp-custom-90"]["usp-custom-20"];
var comboCoords = lat+","+lng;
arr.push(comboCoords);
答案 3 :(得分:0)
尝试
var string1="Content1";
var string2="Content2";
var array = string1+string2.split(" ");
var output =""
for(i=0;i<array.length;i++){
output += array[i];
}
console.log(output);