好吧所以我试图将一个数字完全拆分成一个数组。例如:
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("");
}
答案 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
函数传递到地图中。