我有一个数组
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];
这样做的最佳做法是什么? 我一直在看 。分裂(””); 但想知道接近它的最佳方法。
提前致谢 马赫
答案 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]);
}