数组中的ajax json响应转换

时间:2016-06-15 17:01:38

标签: javascript jquery ruby-on-rails json ajax

这里我遇到一个问题,就像从rails控制器获取响应为json对象:

“77.576343,12.964343,77.576413,12.963679,77.575233,12.96545,77.5760913,12.9657723,77.575217,12.965333”

但我需要将此数据用作ajax中成功函数的数组

[[“77.570934”,“12.964462”],[“77.57199”,“12.96455”],[“77.571046”,“12.964471”],[“77.572142”,“12.964577”]

我如何在ajax成功函数中转换它。请帮我。 提前完成。

2 个答案:

答案 0 :(得分:2)

您可以拆分字符串并使用Array#reduce构建一个新数组。

var string = "77.576343,12.964343,77.576413,12.963679,77.575233,12.96545,77.5760913,12.9657723,77.575217,12.965333",
    array = string.split(',').reduce(function (r, a, i) {
        if (!(i % 2)) r.push([]);
        r[r.length - 1].push(a);
        return r;
    }, []);
	
console.log(array);

或者没有缩减,但使用Array#forEach

var string = "77.576343,12.964343,77.576413,12.963679,77.575233,12.96545,77.5760913,12.9657723,77.575217,12.965333",
    array = [];

string.split(',').forEach(function (a, i) {
    i % 2 || array.push([]);
    array[array.length - 1].push(a);
});
	
console.log(array);

答案 1 :(得分:0)

我的朋友" 77.576343,12.964343,77.576413,12.963679,77.575233,12.96545,77.5760913,12.9657723,77.575217,12.965333"是字符串。 尝试使用javascript函数拆分

var x = "77.576343,12.964343,77.576413,12.963679,77.575233,12.96545,77.5760913,12.9657723,77.575217,12.965333";
var array = x.split(',');

数组应该是一个包含10个位置的数组。 做一个简单的循环:

var newArray = [];
var tmpArray = [];
for(var i = 0; i < array.length; i++){
tmpArray.push(array[i]);
  if((i+1) % 2 === 0){
    newArray.push(tmpArray);
    tmpArray = [];
  }
}