JavaScript 如何把一个数字转换成一个数组
在JavaScript中,有许多内置的方法可以将一个数字转换成一个数组。最简单的一个是split()方法。我们也可以使用map()、reduce()或form()方法来执行这个任务。本文讨论了一些最流行的将数字转换为数组的方法,以及何时和如何应用每种技术的例子。
现在,问题将是,为什么会有将一个数字转换成数组的需要?原因可能是将一个电话号码分割成各个数字,或者将一个日期分割成各个组成部分(解析日期),或者在对各个数字进行数学运算时,它可能是有用的。
方法1:通过split()方法
现在,我们来看看split()方法。它是一个有用的工具,可以将字符串分解成更小的子字符串,并将其转换为数字。然后,它甚至可以通过将数字转换为字符串并将其分割为单个数字来将其转化为数组。让我们通过实现例子中所示的 split() 函数来看看。
例子
在这个例子中,我们使用函数toString()将整数转换为字符串。然后使用split()函数将该字符串分离成一个单独的字符数组。最终的输出将是一个字符串数组,每个字符串代表原始数字中的一个数字。
<html>
<body>
<p id="print"></p>
<script>
let number = 12345;
let numberArray = number.toString().split("");
document.getElementById("print").innerHTML = numberArray;
</script>
</body>
</html>
方法2:使用map()方法
通过使用map()方法,可以创建一个新的数组,其中包含对调用数组中每个元素执行给定函数的输出。通过利用map()方法来创建一个数字数组,它也可以用来将一个数字变成一个数组。下面是一个关于如何使用map()方法将一个整数转化为数组的例子
例子
在这个例子中,我们首先使用函数toString() { [本地代码] }()方法将整数转化为字符串。然后使用Array.from()函数将字符串转换成一个数组。最后,我们通过使用map()方法将字符串数组变成整数数组
<html>
<body>
<p id="print"></p>
<script>
let number = 12345;
let numberArray = Array.from(number.toString(), Number).map(Number);
document.getElementById("print").innerHTML =numberArray;
</script>
</body>
</html>
方法3:使用For循环
这种方法是最简单的,它使用for循环来迭代数字并将其转换为数字数组。
例子
在这个例子中,我们首先使用toString()方法将数字转换成一个字符串。然后我们使用for循环遍历该数字,并使用parseInt方法转换各个数字并将其推入数组。
<html>
<body>
<p id="print"></p>
<script>
let number = 12345;
let numberArray = [];
for (let i = 0; i < number.toString().length; i++) {
numberArray.push(parseInt(number.toString()[i]));
}
document.getElementById("print").innerHTML = numberArray;
</script>
</body>
</html>
方法4:使用reduce()方法
reduce()方法是一个数组方法,可以用来将数组减少到一个单一的值。在这个例子中,我们将使用reduce()方法将数字转换为数组的数字
例子
在这个例子中,我们首先使用toString()
方法将数字转换为字符串。然后我们使用split()
方法将字符串分割成单个字符的数组。最后,我们使用reduce()
方法遍历字符数组,将每个字符解析为整数,并将其添加到最终数组中,即本例中的累加器。
<html>
<body>
<p id="print"></p>
<script>
let number = 12345;
let numberArray = number.toString().split('').reduce((acc, curr) => {
return [...acc, parseInt(curr)];
}, []);
document.getElementById("print").innerHTML=numberArray ;
</script>
</body>
</html>
方法5:使用Array.from()方法
现在,我们将学习另一种方法来转换或改变一个数字为数组。所以,这里我们将Array.from方法()。Array.from的作用是它从一个可迭代的或类似数组的对象中生成一个新的数组。我们可以使用Array.from()方法将一个数字的字符串表示转换成本例中各个数字的数组。
例子
现在,让我们看看上述方法的代码。
<html>
<body>
<p>Original number: 12345</p>
<p id="result"></p>
<script>
const num = 12345;
const arr = Array.from(num.toString(), Number);
document.getElementById("result").innerHTML = arr.join(", ");
</script>
</body>
</html>
总结
在JavaScript中,有多种将数字转换成数组的方法,每种方法都有优点和缺点。Split()’方法是最简单的,而map()’、’for’和reduce()’方法的能力和适应性更强,但需要更多的专业知识。你可以根据你项目的特殊要求,选择最能满足你需要的方法。