整数数组:143-> [1、4、3]

时间:2018-08-02 06:04:46

标签: javascript arrays

从数字中创建数字组成的数组的最短方法是什么?

我不想恢复为声明一个空数组,然后通过for(a,b,c)循环遍历该数字。

我想要一些更具说明性的内容。理想情况是:

Array.from(143) // => [1, 4, 3]

6 个答案:

答案 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)