在 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+ 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告