簡體   English   中英

如何將數組拆分為使用javascript給出的格式?

[英]How to split array to a format as given using javascript?

我的數據是

["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) 

你可以試試看

借助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); 

您可以拆分一個解構數組。

 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); 

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);
}

嘗試一下,希望對您有所幫助。

您可以使用如下map和ES2015 解構分配

 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) 

這將為您做到。

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);

您的循環是正確的,但是您應該使用.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]
  });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM