将数组拆分为多个数组或替代 - Javascript

时间:2013-02-21 09:34:54

标签: javascript jquery arrays object var

我有一个数组

var array = ['123.456789,123.1','456.7890123,234.1','789.0123456,345.1'];

我正在寻找的结果是

var array1 = [123.456789,456.7890123,789.0123456];
var array2 = [123.1,234.1,345.1];

这样做的最佳做法是什么? 我一直在看     。分裂(””); 但想知道接近它的最佳方法。

提前致谢 马赫

3 个答案:

答案 0 :(得分:3)

我认为您应该使用拆分功能。试试这个或看看DEMO

var array = ['123.456789,123.1','456.7890123,234.1','789.0123456,345.1'];
var array1 = [], array2 = [];

for(var i=0; i<array.length; i++){
   array1[i] = array[i].split(",")[0];
   array2[i] = array[i].split(",")[1];
}

答案 1 :(得分:3)

var arr = ["123.456789,123.1","456.7890123,234.1","789.0123456,345.1"];

var array1 = [],
    array2 = arr.map(function(e) {
        e = e.split(",");
        array1.push(+e[0]);
        return +e[1];
    });

console.log(array1, array2);

答案 2 :(得分:1)

基本上你应该迭代数组,并根据逗号将每个项目拆分为两部分。每个部分都进入各自的阵列。

如果允许Array.forEach()

var a1 = [], a2 = [];

array.forEach(function(item) {
  var parts = item.split(',');
  a1.push(+parts[0]);
  a2.push(+parts[1]);
}

否则:

var a1 = [], a2 = [];

for (var i = 0, item; item = array[i]; ++i) {
  var parts = item.split(',');
  a1.push(+parts[0]);
  a2.push(+parts[1]);
}