这里我遇到一个问题,就像从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成功函数中转换它。请帮我。 提前完成。
答案 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 = [];
}
}