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 中的拓展运算符将数字转换成数组。
这些方法各有优劣,读者可以根据实际情况选择使用哪种方法。