我有一个数组
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];
这样做的最佳实践是什么?我一直在看.拆分(");但我想知道最好的方法。
提前感谢马赫
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);
我认为您应该使用split函数。试试这个或看看这个演示:
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];
}
基本上,您应该对数组进行迭代,并根据逗号将每个项的字符串拆分为两部分。每个部分都进入各自的阵列。
如果允许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]);
}