在 JavaScript 中,陣列的長度總是動態的。與其他程式語言一樣,我們在建立陣列時不需要定義陣列的長度。因此,我們可以建立一個陣列並將任意數量的元素推送到 JavaScript 陣列中。在這裡,我們將建立數組的動態長度並向其添加數字。之後,我們將對所有數字進行求和。本教學將教我們建立一個包含數字的動態長度數組,並使用 JavaScript 對數字求和。
我們可以使用 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 變數的每個元素。
在下面的範例中,我們使用 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>
在下面的範例中,我們從使用者那裡取得了動態陣列的長度。此外,我們也從使用者那裡獲取數組的每個值。將使用者輸入儲存到動態數組後,我們使用 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() 方法透過執行多個操作將陣列縮減為單一元素。我們可以建立一個變數來儲存所有陣列元素的總和,並透過將每個元素新增到 sum 變數來減少陣列。
使用者可以依照下面的語法使用reduce()方法對動態陣列的所有元素求和
let sumOfArray = inputArray.reduce((element, currentSum) => element + currentSum, 0)
在上面的語法中,element是數組的元素,currentSum是數組直到第i個索引的所有元素的總和,而數組的總和包含所有數組元素的最終總和。
在下面的範例中,我們透過取得使用者輸入來建立了動態數組。此外,使用者還可以注意到我們在提示符號之前使用了「 」一元運算子將字串轉換為數字。
最後,我們使用 array.reduce() 方法對儲存在陣列中的所有使用者輸入求和。
Using the array.reduce() method to add all elements of the array of numbers of dynamic length
<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>
我們學習如何在 JavaScript 中建立動態長度陣列。此外,我們也學習了使用 for 迴圈和 reduce() 方法對動態長度陣列的所有元素求和。我們也可以使用 while 迴圈。
以上是如何使用 JavaScript 建立帶有數字的動態長度陣列並對數字求和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!