在 JavaScript 中返回原始陣列中兩個連續元素的和


陣列被稱為儲存在連續記憶體位置的相似資料元素的集合。陣列是一種簡單的簡單資料結構,我們可以藉助從 0 開始的索引號訪問陣列中的每個資料元素。

以下是 JavaScript 中陣列的基本宣告:

const mobiles = ["SAMSUNG", "ONEPLUS", "APPLE"]; 

陣列中兩個連續元素的和

我們需要編寫一個 JavaScript 函式,它接收一個數字陣列並返回一個新陣列,其中元素是原始陣列中兩個連續元素的和。

輸入輸出場景

假設有一個數組包含一些元素,並且應該獲取連續元素的和,例如,考慮陣列 arr = [1,2,3,4]。

將 arr[0] 和 arr[1] 相加,然後將 arr[1] 和 arr[2] 相加,接下來將 arr[2] 和 arr[3] 相加。

Input = [1, 2, 3, 4, 5] 
Output = 3, 5, 7, 9

考慮另一個與上述示例相同的陣列場景 arr = [1,2,3,4],現在將 arr[0] 和 arr[1] 相加,以及 arr[2] 和 arr[3] 相加

Input = [1, 2, 3, 4] 
Output = 3, 7

演算法

以下是計算陣列連續元素和的分步過程。假設一個數組 arr=[1, 2, 3, 4, 5]。

步驟 1 - 首先將 arr[0] 和 arr[1] 相加,和為 3。


步驟 2 - 現在,將 arr[1] 和 arr[2] 相加,和為 5。


步驟 3 - 將 arr[2] 和 arr[3] 相加,相加後和為 7。


步驟 4 - 最後將 arr[3] 和 arr[4] 相加,和為 9。


陣列中兩個連續元素的和將是:3、5、7、9。現在讓我們使用 JavaScript 實現它。

示例 1

連續元素的和

在下面的示例中,我們建立了一個包含一些元素的陣列。還建立了一個結果陣列(res_arr),用於在從原始陣列中新增連續數字後將值推入其中。

<!DOCTYPE html> <html> <title>Sum of two consecutive elements</title> <head> <button onClick = "soce()">Click!</button> <p id = "para"> </p> <script> function soce(){ const array = [7, 18, 4, 16, 2, 5]; let n = array.length; function con_sum(array) { const resArr = []; for(let x = 0; x + 1 < n; x ++){ resArr.push(array[x] + (array[x+1])); }; return resArr; }; document.getElementById("para").innerHTML = "sum of consecutive elements in the given array are: " + con_sum(array); }; </script> </head> </html>

示例 2

對陣列進行排序,然後計算連續元素的和

在下面的示例中,我們有一個包含元素的陣列。首先,我們對給定陣列進行排序,然後執行兩個連續元素的和。兩個連續元素的和的值將從原始陣列推入結果陣列(res_arr) 中。

<!DOCTYPE html> <html> <head> <title>Sum of two consecutive elements</title> <script> const array = [5, 7, 2, 6, 1]; document.write("The array before sorted: ", array, "<br>"); array.sort(function( a , b){ if(a > b){ return 1; } if(a < b){ return -1; } return 0; }); document.write("The array after sorted: ", array, "<br>"); function con_sum(array){ let n = array.length; const res_arr = []; for(let x = 0; x + 1 < n; x ++){ res_arr.push(array[x] + (array[x+1])); }; return res_arr; }; document.write("sum: "); document.write(con_sum(array)); </script> </head> </html>

另一種解決方案

讓我們看看在陣列中新增兩個連續元素的另一種視角。假設一個數組 arr=[1, 2, 3, 4, 5, 6]。

  • 將索引 arr[0] 和 arr[1] 處的元素相加,和為 3。


  • 現在將索引 arr[2] 和 arr[3] 處的元素相加,和為 7。


  • 最後將 arr[4] 和 arr[5] 相加,和為 11。


  • 陣列中連續數字的和將是:3、7、11。

示例 3

在下面的示例中,我們有一個包含元素的陣列。這裡我們執行了如上所述的連續元素的和。兩個連續元素的和的值將從原始陣列推入結果陣列(res_arr) 中。

<!DOCTYPE html> <html> <head> <title>Sum of two consecutive elements</title> <button onClick = "soce()"> Click </button> <p id = "para"> </p> <script> function soce(){ const array = [10, 5, 6, 6, 3, 9, 8, 5]; let n = array.length; function con_sum(array){ const resArr = []; for(let i = 0; i < n; i += 2){ resArr.push(array[i] + (array[i+1] || 0)); }; return resArr; }; document.getElementById("para").innerHTML = con_sum(array); }; </script> </head> </html>

更新於: 2022年9月23日

1K+ 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.