如何在JavaScript中创建动态长度的数字数组并求和?
在JavaScript中,数组长度总是动态的。与其他编程语言不同,我们不需要在创建数组时定义数组的长度。因此,我们可以创建一个数组,并在JavaScript数组中添加任意数量的元素。在这里,我们将创建一个动态长度的数组,并向其中添加数字。之后,我们将对所有数字求和。本教程将教我们如何使用JavaScript创建动态长度的数字数组并求和。
使用for循环对动态数组的所有元素求和
我们可以使用for循环遍历数组,并将每个元素相加以获得所有元素的总和。我们将使用普通的for循环和for...of循环来访问数组元素并将所有元素添加到单个变量中。
语法
用户可以按照以下语法使用for循环对动态长度数组的所有元素求和。
let arraySum = 0;
for (let i = 0; i < length; i++) {
arraySum += dynamicArray[i];
}
在上面的语法中,length是动态数组的长度。我们将所有元素添加到arraySum变量中。
步骤
使用Math.random()方法生成一个随机整数作为动态数组的长度。
此外,将随机生成的长度乘以任何整数以定义动态数组长度的范围。例如,如果要创建长度在0到15之间的动态数组,则将随机整数乘以15,因为它生成的数值在0到10之间。
现在,使用for循环初始化值。为了初始化随机值,我们再次使用了Math.random()方法并将其乘以5以生成0到5之间的随机值。
使用Math.round()方法对随机生成的数字进行四舍五入。
创建一个arraysum变量并初始化为零。
现在,遍历数组并将每个元素添加到arraySum变量中。
示例1
在下面的示例中,我们使用了Math.random()函数来生成动态数组的长度,使用随机值初始化数组,并使用for循环对所有数组值求和。
在输出中,用户可以看到数组的值及其总和。此外,每次用户运行下面的代码时,它都会创建一个具有不同长度和值的新的数组。
<html>
<body>
<h2>Using the <i> for-loop </i> add all elements of the array of numbers of dynamic length.</h2>
<div id = "output"> </div>
<script>
let output = document.getElementById('output');
let length = Math.random() * 15;
let dynamicArray = [];
for (let i = 0; i < length; i++) {
dynamicArray[i] = Math.round(Math.random() * 5);
}
let arraySum = 0;
for (let i = 0; i < length; i++) {
arraySum += dynamicArray[i];
}
output.innerHTML += "The array of random number is " + dynamicArray + "<br/>";
output.innerHTML += "The sum of all array elements is " + arraySum + "<br/>";
</script>
</body>
</html>
示例2
在下面的示例中,我们从用户那里获取动态数组的长度。此外,我们还从用户那里获取数组的每个值。将用户输入存储在动态数组中后,我们使用for...of循环遍历它。
在for循环迭代期间,我们将数组的每个元素添加到sum变量中。
<html>
<body>
<h2>Using the <i> for-of loop </i> add all elements of the array of numbers of dynamic length.</h2>
<div id = "output"> </div>
<script>
let output = document.getElementById('output');
// take the dynamic length of the array from users
let length = +prompt("Enter a length of the dynamic array", 5);
let dynamicArray = [];
// take array inputs from users
for (let i = 1; i <= length; i++) {
dynamicArray.push(+prompt("Enter " + i + "th number value", 0))
}
let sum = 0;
// using the for-of loop to get a sum of all elements
for (let element of dynamicArray) {
sum += element;
}
output.innerHTML += "The array of random number is " + dynamicArray + "<br/>";
output.innerHTML += "The sum of all array elements is " + sum + "<br/>";
</script>
</body>
</html>
使用array.reduce()方法对动态数组的所有数字求和
array.reduce()方法通过执行多个操作将数组简化为单个元素。我们可以创建一个变量来存储所有数组元素的总和,并通过将每个元素添加到sum变量中来减少数组。
语法
用户可以按照以下语法使用reduce()方法对动态数组的所有元素求和。
let sumOfArray = inputArray.reduce((element, currentSum) => element + currentSum, 0)
在上面的语法中,element是数组的元素,currentSum是直到第i个索引的所有数组元素的总和,而数组的sum包含所有数组元素的最终总和。
示例3
在下面的示例中,我们通过获取用户输入来创建动态数组。此外,用户可以注意到我们在提示符前使用了“+”一元运算符来将字符串转换为数字。
最后,我们使用array.reduce()方法对存储在数组中的所有用户输入求和。
<html>
<body>
<h2>Using the <i> array.reduce() method </i> to add all elements of the array of numbers of dynamic length</h2>
<div id="output"></div>
<script>
let output = document.getElementById('output');
let arrayLen = +prompt("Enter any number to create array of that length", 10);
let inputArray = [];
for (let i = 1; i <= arrayLen; i++) {
inputArray[i] = +prompt("Enter " + i + "th number value", 5);
}
let sumOfArray = inputArray.reduce((element, currentSum) => element + currentSum, 0)
output.innerHTML += "The length of the array is " + arrayLen + "<br/>";
output.innerHTML += "The array of random number is " + inputArray + "<br/>";
output.innerHTML += "The sum of all array elements is " + sumOfArray + "<br/>";
</script>
</body>
</html>
我们学习了如何在JavaScript中创建动态长度的数组。此外,我们还学习了如何使用for循环和reduce()方法对动态长度数组的所有元素求和。我们也可以使用while循环。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP