将数字拆分为数组

时间:2014-08-14 03:05:05

标签: javascript arrays

好吧所以我试图将一个数字完全拆分成一个数组。例如:

var num = 55534;
var arr = []; <- I would want the Array to look like this [5,5,5,3,4] 

基本上我想将数字完全拆分并将每个Number放入其自己的数组元素中。通常在过去我只是将数字转换为字符串然后使用.split()函数。我就是这样做的:

num += "";
var arr = num.split("");

但这次我实际上需要使用这些数字,因此它们不能成为字符串。你们会说这样做的方式是什么?

更新,在编辑后由于某种原因我的代码每次运行都崩溃了:

function DashInsert(num) { 

  num += "";
  var arr = num.split("").map(Number); // [9,9,9,4,6]
  for(var i = 0; i < arr.length; i++){
    if(arr[i] % 2 === 1){
    arr.splice(i,0,"-");
    }// odd
  }
  return arr.join(""); 

}

3 个答案:

答案 0 :(得分:5)

String(55534).split("").map(Number)

...会轻易地做你的伎俩。

答案 1 :(得分:4)

你可以做你已经做过的事情,并将数字映射回来:

55534..toString().split('').map(Number)
//^ [5,5,5,3,4]

答案 2 :(得分:0)

我会像贝娄那样做。

var num = 55534;
var arr = num.toString().split(''); //convert string to number & split by ''
var digits = arr.map(function(el){return +el}) //convert each digit to numbers
console.log(digits); //prints [5, 5, 5, 3, 4]

基本上我将每个字符串转换为数字,您也可以将Number函数传递到地图中。