📌  相关文章
📜  如何在 JavaScript 中将数字转换为数组?(1)

📅  最后修改于: 2023-12-03 14:52:21.042000             🧑  作者: Mango

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

在 JavaScript 中,将数字转换为数组的方法有多种。本文将介绍其中较为常见的两种方法。

方法一:通过 Array.from() 方法转换

Array.from() 是 ES6 引入的新方法,可将可迭代对象或类数组对象转换为数组。在使用这个方法时,我们可以通过传入数字作为目标数组的长度,从而将数字转换为数组。

以下是通过 Array.from() 方法将数字转换为数组并输出的示例代码:

const num = 12345;
const arr = Array.from(String(num), Number);
console.log(arr); // 输出 [1, 2, 3, 4, 5]

在上述代码中,我们首先将数字 12345 转换为字符串,再将字符串转换为数组。第二个参数 Number 是一个可选参数,它表示转换字符串时所用的函数,默认为 parseInt()。

请注意,通过 Array.from() 方法进行转换时,目标对象必须是可迭代的或类数组的。当我们要将一个数字转换为数组时,它并不是一个可迭代的对象,因此我们将它转换为字符串再进行转换。

方法二:通过 Array.prototype.map() 方法转换

除了通过 Array.from() 方法将数字转换为数组外,我们还可以通过 Array.prototype.map() 方法来实现。

以下是通过 Array.prototype.map() 方法将数字转换为数组并输出的示例代码:

const num = 12345;
const arr = String(num).split("").map(Number);
console.log(arr); // 输出 [1, 2, 3, 4, 5]

在上述代码中,我们首先将数字转换为字符串,然后使用 split() 方法将字符串拆分成字符数组,最后使用 map() 方法将字符数组转换为数字数组。

与方法一不同的是,在使用 Array.prototype.map() 方法进行转换时,我们需要先将数字转换为字符串,再进行相关操作。

注意,这种方法与上述方法不同,如果字符串里面包含的不只是数字,那么这个方法将会返回一个非数字的 NaN 元素。

总结

JavaScript 中将数字转换为数组的方法有很多,本文主要介绍了通过 Array.from() 方法和 Array.prototype.map() 方法来实现的方法。在具体应用时,我们可根据实际需求选择不同的方法。