从JSON数组中选取两个元素并添加到新的json数组中

时间:2016-12-08 04:53:35

标签: javascript arrays json google-maps

我有一个JSON数组,在Stringify上看起来像这样:

 [{"lat":40,"lng":90},{"lat":41,"lng":91},{"lat":42,"lng":92},{"lat":43,"lng":94}]

等等(实际数组将有更多条目)。 我想一次选择两个元素,创建一个JSON数组(与上面完全相同的格式)并在google Maps上将每个元素绘制成一条线。

我写的代码是这样的。 json是我使用JSON.parse上面提到的字符串化版本的原因。

var x=[];
for(var i=0;i<json.length/2;i+=2)
{
x=json[i];
x+=json[i+1];
//var y=JSON.parse(x);
console.log(x);
}

正如预期的那样,我得到[object Object][object Object]输出。我可以直接用它来绘图吗?我不这么认为,因为如果我将x

字符串化,我会得到这个
 "[object Object][object Object]"

我认为我做错了或错过了一些基本的东西。不是那么精通Javascript。请帮忙。感谢。

1 个答案:

答案 0 :(得分:2)

您需要使用push方法在数组中添加值。

var x=[];
for(var i=0;i<json.length/2;i+=2)
{
x.push(json[i]);
x.push(json[i+1]);
console.log(x);
}

你可以使用结果array这样

var lat = x[0].lat;
var lng = x[0].lng;

或者您可以根据需要loop覆盖数组。