我的数据是
["9.968034,77.906814", "8.699679,77.478347", "8.797406,80.895095"]
如何将其拆分为
[
{ lat: 9.968034, lng: 77.906814},
{ lat: 8.699679, lng: 77.478347},
{ lat: 8.797406, lng: 80.895095}
];
请帮助我解决问题...
我尝试过
var jArray = ["9.968034,77.906814", "8.699679,77.478347", "8.797406,80.895095"];
var temp = {};
for(var j=0; j<jArray.length;j++){
var tr = {
'lat' :jArray[j][1],
'lng' :jArray[j][0]
}
temp.push(tr);
}
console.log(temp)
答案 0 :(得分:4)
您可以尝试一下。
借助map()
和split()
函数。
let arr = ["9.968034,77.906814", "8.699679,77.478347", "8.797406,80.895095"]
let op = arr.map(e => {
let temp = e.split(',');
return { lat:temp[0], lng: temp[1] };
})
console.log(op);
答案 1 :(得分:2)
您可以拆分一个破坏结构的数组。
var data = ["9.968034,77.906814", "8.699679,77.478347", "8.797406,80.895095"],
result = data.map(s =>
(([lat, lng]) => ({ lat, lng }))
(s.split(','))
);
console.log(result);
答案 2 :(得分:0)
Javascript具有针对字符串的内置JSON解析,我想这就是您拥有的:
var myObject = JSON.parse("my json string");
在您的示例中使用它的方法是:
var jsonData = JSON.parse(myMessage);
for (var i = 0; i < jsonData.counters.length; i++) {
var counter = jsonData.counters[i];
console.log(counter.counter_name);
}
尝试一下,希望对您有所帮助。
答案 3 :(得分:0)
您可以像这样使用map
和ES2015 destructuring assignment:
let data = ["9.968034,77.906814", "8.699679,77.478347", "8.797406,80.895095"]
let newArray = data.map(loc => {
const [lat, lng] = loc.split(',')
return {
lat,
lng
}
})
console.log(newArray)
答案 4 :(得分:0)
这将为您完成。
var arrayOfStrings = ["9.968034,77.906814", "8.699679,77.478347", "8.797406,80.895095"];
var arrayOfObjects = [];
for(var item = 0; item < arrayOfString.length; item++){
var latlng = {};
var splittedValues = arrayOfString[item].split(",");
latlng["lat"] = splittedValues[0];
latlng["long"] = splittedValues[1]
arrayOfObjects.push(latlng);
}
console.log(arrayOfObjects);
答案 5 :(得分:0)
您的循环是正确的,但是您应该使用,
用.split()
分隔符分割字符串以获取字符串的一部分。
var jArray = ["9.968034,77.906814", "8.699679,77.478347", "8.797406,80.895095"];
var temp = [];
for (var j=0; j<jArray.length;j++){
temp.push({
'lat': jArray[j].split(',')[0],
'lng': jArray[j].split(',')[1]
});
}
console.log(temp);
您也可以改用foreach
var temp = [];
jArray.forEach(function(item){
temp.push({
'lat' :item.split(',')[0],
'lng' :item.split(',')[1]
});
});