将一个数字拆分成一个数组
Split a Number into an Array in JavaScript
将数字拆分为数组:
- 将数字转换为字符串。
- 使用
Array.from()
方法将字符串转换为数字数组。 - 使用该
map()
函数将数组中的每个字符串转换为数字。
索引.js
const number = 1234; const arrOfDigits = Array.from(String(number), Number); console.log(arrOfDigits); // 👉️ [1, 2, 3, 4]
我们传递给
Array.from
方法的第一个参数是一个我们想要转换为数组的可迭代对象。
我们必须将数字转换为字符串,因为数字不可迭代。
索引.js
// 👇️ ['1', '2', '3', '4'] console.log(Array.from(String(1234)));
此时我们有一个字符串数组。我们使用该
Array.from
方法的第二个参数将每个字符串转换为数字。
该方法采用的第二个参数是
Array.map
函数。
数组中的每个元素都会调用该函数。我们想将每个元素转换成一个数字,所以我们使用
Number
对象。
这是一个明确使用该Array.map()
方法的示例。
索引.js
const number = 1234; // 👇️ ['1', '2', '3', '4'] const arrOfStr = Array.from(String(number)); const arrOfNum = arrOfStr.map(str => Number(str)); console.log(arrOfNum); // 👉️ [1, 2, 3, 4]
map
数组中的每个字符串都会调用该方法。
在每次迭代中,我们将当前元素转换为数字并返回结果。
或者,您可以使用该String.split()
方法。
将数字拆分为数组:
- 将数字转换为字符串。
- 调用字符串上的
split()
方法以获取字符串数组。 - 调用
map()
数组上的方法将每个字符串转换为数字。
索引.js
// Supported in IE const number = 1234; const arr = String(number) .split('') .map(str => Number(str)); console.log(arr); // 👉️ [1, 2, 3, 4]
我们将数字转换为字符串并使用了
String.split
方法。
该方法根据提供的分隔符将字符串拆分为数组。
索引.js
const number = 1234; // 👇️ ['1', '2', '3' ,'4'] console.log(String(number).split(''));
我们将一个空字符串作为分隔符传递给该
split
方法,因为我们想在每个数字上进行拆分。最后,我们使用该map()
方法将每个字符串转换为数字。