将分割数组的元素设为数字

时间:2013-08-12 13:04:18

标签: javascript arrays

我有一个字符串:

var a="12,332,22,212";

现在我把它拆分成这样的数组:

a=a.split(",");

然后

a=["12","332","22","212"];

虽然我想得到这样的数组:

a=[12,332,22,212];

这意味着数组的元素应为Number

现在我必须迭代数组:

for(var i=0,len=a.length;i<len;i++){
  a[i]=parseFloat(a[i]);
}

还有其他想法吗?

3 个答案:

答案 0 :(得分:3)

另一种方法是使用JSON.parse进行转换,意味着您需要添加缺少的括号。

var a="12,332,22,212"; 
a = "[" + a + "]"; 
a = JSON.parse(a); //[12, 332, 22, 212]

答案 1 :(得分:0)

试试这个:

var arr = [],
var a="12,332,22,212";

arr.push.apply(arr, a.split(",").map(Number));

答案 2 :(得分:0)

在这里,使用此代码

for(var i=0; i<a.length;i++) a[i] = +a[i];

这是最简单的方法,据我所知,你也可以使用array.map

var result = a.map(function (x) { 
    return parseInt(x, 10); 
});

或者您可以使用

var result = a.map(function (x) {return parseFloat(x, 10);});

注意:以上代码为dheerosaur提供的信用