【js】两个数组内的元素依次相加得到一个新数组。

2024-05-15 18:28

本文主要是介绍【js】两个数组内的元素依次相加得到一个新数组。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在JavaScript中,如果你想要把两个数组的元素依次相加,你可以使用数组的map()方法配合索引来实现这个功能。假设这两个数组的长度相同,你可以这样做:

 
javascriptfunction addArrays(array1, array2) {
// 创建一个新数组,长度与输入数组相同
const result = [];// 使用数组的map方法遍历数组
array1.map((value, index) => {
// 将对应位置的元素相加,并推入新数组
result.push(value + array2[index]);
});// 返回结果数组
return result;
}// 示例数组
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];// 调用函数并打印结果
console.log(addArrays(array1, array2)); // 输出: [5, 7, 9]

如果你想要更简洁的写法,你可以使用Array.prototype.reduce()方法,它同样可以完成这个任务:

 
javascriptfunction addArrays(array1, array2) {
// 假设两个数组长度相同
return array1.reduce((acc, val, index) => {
// 在累加器数组中添加两个对应位置元素的和
acc.push(val + array2[index]);
return acc;
}, []); // 初始值为空数组
}// 示例数组
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];// 调用函数并打印结果
console.log(addArrays(array1, array2)); // 输出: [5, 7, 9]

请注意,如果两个数组的长度不同,你需要添加额外的逻辑来处理这种情况,比如使用较短的数组长度来防止越界错误,或者对较长数组剩余的元素进行特殊处理。

如果两个数组长度不同,并且你希望将较短数组的元素与较长数组的对应元素相加,剩余的元素保持不变,你可以这样做:

 
javascriptfunction addArrays(array1, array2) {
const maxLength = Math.max(array1.length, array2.length);
const result = [];for (let i = 0; i < maxLength; i++) {
// 如果array1有元素,取元素,否则取0
const val1 = i < array1.length ? array1[i] : 0;
// 如果array2有元素,取元素,否则取0
const val2 = i < array2.length ? array2[i] : 0;
// 将两个值相加并推入结果数组
result.push(val1 + val2);
}return result;
}// 示例数组,长度不同
const array1 = [1, 2, 3];
const array2 = [4, 5, 6, 7];// 调用函数并打印结果
console.log(addArrays(array1, array2)); // 输出: [5, 7, 9, 7]

在上面的代码中,maxLength 变量用于确保循环次数不会超过两个数组中较长的那个数组的长度。对于较短的数组,如果索引超出了其长度,就取0进行相加。

这篇关于【js】两个数组内的元素依次相加得到一个新数组。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/992583

相关文章

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

JAVA数组中五种常见排序方法整理汇总

《JAVA数组中五种常见排序方法整理汇总》本文给大家分享五种常用的Java数组排序方法整理,每种方法结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录前言:法一:Arrays.sort()法二:冒泡排序法三:选择排序法四:反转排序法五:直接插入排序前言:几种常用的Java数组排序

VSCode中配置node.js的实现示例

《VSCode中配置node.js的实现示例》本文主要介绍了VSCode中配置node.js的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一.node.js下载安装教程二.配置npm三.配置环境变量四.VSCode配置五.心得一.no

Java数组初始化的五种方式

《Java数组初始化的五种方式》数组是Java中最基础且常用的数据结构之一,其初始化方式多样且各具特点,本文详细讲解Java数组初始化的五种方式,分析其适用场景、优劣势对比及注意事项,帮助避免常见陷阱... 目录1. 静态初始化:简洁但固定代码示例核心特点适用场景注意事项2. 动态初始化:灵活但需手动管理代

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

C++中初始化二维数组的几种常见方法

《C++中初始化二维数组的几种常见方法》本文详细介绍了在C++中初始化二维数组的不同方式,包括静态初始化、循环、全部为零、部分初始化、std::array和std::vector,以及std::vec... 目录1. 静态初始化2. 使用循环初始化3. 全部初始化为零4. 部分初始化5. 使用 std::a

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元