2

我有一个数组

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];

这样做的最佳做法是什么?我一直在看 .split(""); 但想知道处理它的最佳方法。

提前感谢马赫

4

3 回答 3

3

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

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];
}
于 2013-02-21T09:37:13.880 回答
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);
于 2013-02-21T09:39:04.940 回答
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]);
}
于 2013-02-21T09:40:24.893 回答