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

分割機能を使用する必要があると思います。これを試すか、この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];
}
于 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

基本的に、配列を反復処理し、項目ごとに、コンマに基づいて文字列を 2 つの部分に分割する必要があります。各パーツはそれぞれの配列に入ります。

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 に答える