📜  数字到数组 javascript (1)

📅  最后修改于: 2023-12-03 15:10:17.076000             🧑  作者: Mango

数字到数组 JavaScript

在JavaScript中,我们可以将数字转换为数组,以便我们可以使用数组的方法来操作数字。在本文中,我们将介绍三种不同的方法来将数字转换为数组。

1. 将数字转换为字符串,然后将字符串拆分为数组

这种方法使用了JavaScript的内置方法toString()。我们将数字转换为字符串,然后使用字符串的split()方法将其拆分为数组。这种方法的缺点是,它不能处理负数。

const num = 12345;
const arr = num.toString().split('').map(Number); // [1, 2, 3, 4, 5]
2. 使用循环和除法运算符

这种方法需要使用循环和除法运算符。我们通过反复将数字除以10来获取每个数字,将其推入数组中,然后将数字除以10。一旦数字小于10,我们将最后一个数字推入数组中并返回结果。该方法可以处理负数。

function numToArray(num) {
    const arr = [];
    let sign = Math.sign(num);
    num = Math.abs(num);
    do {
        arr.unshift(num % 10);
        num = Math.floor(num / 10);
    } while (num > 0);
    if (sign === -1) arr.unshift('-');
    return arr;
}

numToArray(12345); // [1, 2, 3, 4, 5]
numToArray(-12345); // ['-', 1, 2, 3, 4, 5]
3. 使用递归和判断语句

这种方法需要使用递归和判断语句。我们首先将数字转换为字符串,并检查字符串是否为空。如果是空的,我们将返回一个空数组。否则,我们将递归调用该函数,将字符串的第一个字符转换为数字,将其推入数组中,并将其余部分作为参数传递给递归函数。

function numToArray(num) {
    if (num === '') return [];
    return [Number(num.charAt(0))].concat(numToArray(num.substr(1)));
}

numToArray('12345'); // [1, 2, 3, 4, 5]