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