答案 0 :(得分:7)
尝试使用array.prototype.map来简化您的工作,
var newArray = arr.map(function(str){
return JSON.parse("{" + str.substring(0,str.length - 1).replace(/lat/,'"lat"').replace(/lng/,'"lng"') + "}")
});
同样,如果你在该数组中有正确格式的字符串,那么可以删除一些不必要的.replace()
,这将提高性能。
答案 1 :(得分:0)
你可以这样做:
<!DOCTYPE html>
<html>
<body>
<script>
var data = ["lat: 0, lng: 0;", "lat: 25.233, lng:22.455;"];
var newData = new Array();
for(var i = 0; i < data.length; i++)
{
var temp = data[i].replace(/lat/g, "\"lat\"");
temp = temp.replace(/lng/g, "\"lng\"");
temp = temp.replace(/;/g, "");
temp = "{" + temp + "}";
newData.push(JSON.parse(temp));
}
console.log(newData);
</script>
</body>
</html>