JavaScript 如何用数字创建一个动态长度的数组,并对数字求和

JavaScript 如何用数字创建一个动态长度的数组,并对数字求和

在JavaScript中,数组的长度总是动态的。像其他编程语言一样,我们不需要在创建数组的时候定义数组的长度。所以,我们可以创建一个数组,并在JavaScript数组中推送我们想要的任何数量的元素。在这里,我们将创建数组的动态长度,并向其添加数字。之后,我们将对所有数字进行求和。本教程将教我们用数字创建一个动态长度的数组,并用JavaScript对数字求和。

使用for循环对动态数组的所有元素求和

我们可以使用for循环遍历数组,并将每个元素相加,得到所有元素的总和。我们将使用正常的for-loop和for-of-loop来访问数组元素,并将其全部加入到单个变量中。

语法

用户可以按照下面的语法来使用for-loop对动态长度的数组的所有元素进行求和。

let arraySum = 0;
for (let i = 0; i < length; i++) {
  arraySum += dynamicArray[i];
}

在上述语法中,length是动态数组的长度。我们正在将所有的元素加入到arraySum变量中。

操作步骤

  • 使用Math.random()方法,生成一个随机的整数,作为动态数组的长度。

  • 同时,将随机生成的长度与任何整数相乘来定义动态数组的长度范围。例如,如果你想创建一个长度在0到15之间的动态数组,用随机整数乘以15,因为它生成的值在0到10之间。

  • 现在,使用for-loop来初始化这些值。为了初始化随机值,我们再次使用Math.random()方法,并将其乘以5来生成0到5之间的随机值。

  • 使用Math.round()方法对随机生成的数字进行舍入。

  • 创建一个arraysum变量,初始化为0。

  • 现在,遍历数组,并将每个元素写入arraySum变量。

例子1

在下面的例子中,我们使用Math.random()函数生成动态数组的长度,用随机值初始化数组,并使用for-lop对所有数组的值进行求和。

在输出中,用户可以看到数组的值和它的总和。另外,每次用户运行下面的代码,都会创建一个具有不同长度和数值的新数组。

<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)

在上述语法中,元素是数组的元素,currentSum是数组中直到第i个索引的所有元素的总和,数组的总和包含所有数组元素的最终总和。

例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-loop和reduce()方法对动态长度数组的所有元素进行求和。我们还可以使用while循环。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

JavaScript 教程