在JavaScript中以数组格式推出随机数

时间:2019-03-19 23:40:39

标签: javascript arrays

给出一个非负整数,按顺序返回一个数组或单个数字的列表。

digitize(n):将多个数字分开成一个数组。

参数:

n: number - Number to be converted

返回值:

Array<number> - Array of separated single digit integers

示例:

n            123
Return value [1,2,3]

这是我所做的

Function digitize(n) {
  let number =[ ];
  let stringDigi = n.tostring();

  for (let i = 0, len = stringDigi.length; i < len; i++) {
    number.push (+stringDigi.charAt(i)); 
  }

  return number;
}

3 个答案:

答案 0 :(得分:1)

只需使其简单

const fn = n => n.toString().split('').map(e => parseInt(e))

console.log(fn(123))

并注意语法。

function不是Function

toString()不是tostring()

答案 1 :(得分:0)

对于非负整数(0、1,...),可以使用toString()template string,后跟split()map(),请使用{ {1}}运算符可将您的数字转换为数字:

+

另一种方法是使用match(/\d/g)使用正则表达式提取数字。此方法适用于所有数字而无需修改,除了const digitize = n => `${n}`.split('').map(x => +x); console.log(...digitize(0)); console.log(...digitize(1234));可以在传入|| []时处理不匹配项:

undefined/null

要使第一种方法适用于所有数字const digitize = n => (`${n}`.match(/\d/g) || []).map(x => +x) console.log(...digitize(0)); console.log(...digitize(1234)); console.log(...digitize(-12.34)); console.log(...digitize(undefined));null,必须在filter()值上添加三进制和isNaN()

undefined

如果要使用for循环,建议使用const digitize = n => n || n === 0 ? `${n}`.split('').map(x => +x).filter(x => !isNaN(x)) : []; console.log(...digitize(0)); console.log(...digitize(1234)); console.log(...digitize(-12.34)); console.log(...digitize(undefined));。编写for/offunction时也要注意这种情况:

toString

答案 2 :(得分:0)

你可以

function digitize(n) {
  return (n).toString().split("");
}