0

I have an string as this:

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

Now I split it to an array like this:

a=a.split(",");

Then

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

While I want to get an array like this:

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

Which means that the element of the array should be Number.

Now I have to iterate the array:

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

Is there any alternative idea?

4

3 回答 3

3

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

var a="12,332,22,212"; 
a = "[" + a + "]"; 
a = JSON.parse(a); //[12, 332, 22, 212]
于 2013-08-12T13:17:20.020 回答
0

尝试这个:

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

arr.push.apply(arr, a.split(",").map(Number));
于 2013-08-12T13:11:56.237 回答
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

于 2013-08-12T13:12:25.467 回答