如何连接2个字符串并使它们成为数组?

时间:2019-07-04 00:00:25

标签: javascript jquery

我这样做:

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 latlng得到:

["39.213"]0: "39.213"length: 1__proto__: Array(0)
(index):575 ["9.126"]

4 个答案:

答案 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)

当前,latlng是数组。您无法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);