如何在 JavaScript 中将数字转换为数组?

1. 前言

在进行 JavaScript 开发时,有时候需要将一个数字转换成数组来进行操作。比如我们需要将一个三位数的数字分离出每一位来进行计算,这时候就需要将数字转换成数组。本文将介绍 JavaScript 中将数字转换成数组的几种方法。

2. toString() 和 split() 方法

2.1 toString() 方法

JavaScript 中的数字类型有一个 toString() 方法,用于将数字转换成字符串。因此,我们可以先使用 toString() 方法将数字转换成字符串,然后再通过字符串的 split() 方法将字符串分割成数组。

let num = 12345;

let str = num.toString();

let arr = str.split('');

console.log(arr); // [ '1', '2', '3', '4', '5' ]

上述代码先将数字 12345 转换成字符串 '12345',然后通过 split('') 方法将字符串分割成数组,得到一个包含每一位数字的数组。

2.2 split() 方法

除了使用 toString() 方法将数字转换成字符串之外,我们还可以直接使用数字的 split() 方法将其转换成数组。这是因为 JavaScript 中的数字类型继承自字符串类型,因此数字类型拥有字符串类型的所有方法。

let num = 12345;

let arr = num.toString().split('');

console.log(arr); // [ '1', '2', '3', '4', '5' ]

上述代码中,我们先使用 toString() 方法将数字转换成字符串,然后使用字符串的 split() 方法将其分割成数组。

3. Array.from() 方法

除了使用字符串的 split() 方法将数字转换成数组之外,我们还可以使用 JavaScript 中 Array.from() 方法将数字转换成数组。

let num = 12345;

let arr = Array.from(String(num), Number);

console.log(arr); // [ 1, 2, 3, 4, 5 ]

上述代码中,我们先将数字转换成字符串,然后通过 Array.from() 方法将其转换成数组。该方法的参数可以接受一个类数组对象或可迭代对象,这里我们将字符串作为参数传入。由于 Array.from() 方法默认会将字符串中的每个字符当作数组元素,因此我们还需要传入一个处理函数 Number,将字符串转换成数字。

4. ES6 中的拓展运算符

在 ES6 中,我们可以使用拓展运算符(spread operator)将数字转换成数组。

let num = 12345;

let arr = [...String(num)].map(Number);

console.log(arr); // [ 1, 2, 3, 4, 5 ]

上述代码中,我们先使用 String() 函数将数字转换为字符串,然后使用拓展运算符将字符串转换为数组,最后使用 map() 方法将数组中的每个值转换为数字类型。

5. 总结

本文介绍了 JavaScript 中将数字转换成数组的几种方法,包括:

使用 toString()split() 方法将数字转换成字符串再分割成数组。

使用数字的 split() 方法将其转换成数组。

使用 Array.from() 方法将数字转换成数组。

使用 ES6 中的拓展运算符将数字转换成数组。

这些方法各有优劣,读者可以根据实际情况选择使用哪种方法。