从数字中创建数字组成的数组的最短方法是什么?
我不想恢复为声明一个空数组,然后通过for(a,b,c)
循环遍历该数字。
我想要一些更具说明性的内容。理想情况是:
Array.from(143) // => [1, 4, 3]
答案 0 :(得分:6)
将数字转换为字符串,split
字符串,然后将每个字符转换为数字:
const arr = String(143)
.split('')
.map(Number);
console.log(arr);
答案 1 :(得分:2)
您可以将Array.from
与字符串一起使用,并将Number
作为映射功能。
Array.from
进行迭代,并创建一个数组。它使用提供的映射函数,并在使用回调或原始值后返回带有值的新数组。
var number = 143,
array = Array.from(number.toString(), Number);
console.log(array);
答案 2 :(得分:1)
转换为字符串然后拆分然后映射:
const num = 210;
const numArray = ("" + num).split("").map(Number)
答案 3 :(得分:1)
关于Array.from
的用法,请使用map从string
投射到integer
。
步骤1:将143
的{{1}}更改为"143"
。
第2步:将String(143)
由"143"
更改为["1", "4", "3"]
。
第3步:在通过Array.from("143")
作为Number
中的第二个参数的同时,将Array.from
的结果更改为["1", "4", "3"]
。哪个“数字”将用作[1, 4, 3]
来迭代每个元素。
代码示例:
map function
更新
Array.from已具有地图功能作为其第二个参数。
答案 4 :(得分:0)
将数字转换为字符串,split
字符串,然后使用map将数组的每个元素转换为Number:
var num = 143;
var splitedNum = num.toString().split('').map(Number);
console.log(splitedNum)
答案 5 :(得分:0)
尝试
var n = 143;
var arr = n.toString(10).replace(/\D/g, '0').split('').map(Number);
console.log(arr)