js 数组合并方式

1. 使用 concat 方法  ==》不改变原数组

concat 方法可以将多个数组或值合并成一个新数组。

const arr1 = [1, 2, 3]
const arr2 = [4, 5, 6]
const mergedArr = arr1.concat(arr2) // [1, 2, 3, 4, 5, 6]

2. 使用展开运算符 (...)  ==》不改变原数组

展开运算符 ... 可以用于展开数组,将其元素插入到另一个数组中。

const arr1 = [1, 2, 3]
const arr2 = [4, 5, 6]
const mergedArr = [...arr1, ...arr2] // [1, 2, 3, 4, 5, 6]

3. 使用 Array.from 方法 ==》不改变原数组

Array.from 方法可以从类数组对象或可迭代对象创建一个新的数组实例。

const arr1 = [1, 2, 3]
const arr2 = [4, 5, 6]
const mergedArr = Array.from(arr1).concat(arr2) // [1, 2, 3, 4, 5, 6]

4. 使用 Array.prototype.reduce 方法 ==》不改变原数组

reduce 方法可以将数组中的所有元素汇总成一个值,也可以用于合并数组。

const arr1 = [1, 2, 3]
const arr2 = [4, 5, 6]
const mergedArr = arr2.reduce((result, current) => {result.push(current)return result
}, [...arr1]) // [1, 2, 3, 4, 5, 6]

5.使用 push 方法 =》修改原数组

push 方法可以将一个数组的元素追加到另一个数组末尾,修改原数组。

const arr1 = [1, 2, 3]
const arr2 = [4, 5, 6]
arr1.push(...arr2)   // arr1 变为 [1, 2, 3, 4, 5, 6]

6. 使用 Array.prototype.splice 方法==》修改原数组

splice 方法可以修改原数组,用于在指定位置插入新元素。

const arr1 = [1, 2, 3]
const arr2 = [4, 5, 6]
arr1.splice(arr1.length, 0, ...arr2) // arr1 变为 [1, 2, 3, 4, 5, 6]

7. 使用 Array.prototype.concat.apply 方法 ==》不改变原数组

这种方法可以用于合并大量数组,但通常不太推荐使用,因为有更简洁的替代方法。

const arr1 = [1, 2, 3]
const arr2 = [4, 5, 6]
const mergedArr = Array.prototype.concat.apply(arr1, arr2) // [1, 2, 3, 4, 5, 6]

8. arr1.push.apply(arr1,arr2) ==》修改原数组

const arr1 = [1, 2, 3]

const arr2 = [4, 5, 6]

arr1.push.apply(arr1,arr2)

console.log(arr1)  // [1, 2, 3, 4, 5, 6]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/868475.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web应用安全实用建议

引言 随着互联网的飞速发展,Web应用已成为企业与用户互动的重要桥梁。然而,Web应用面临着各种安全威胁,这些威胁不仅可能导致数据泄露,还会损害企业的声誉,甚至造成经济损失。为了确保Web应用的安全性,必须…

【虚拟机安装centos7.6 yum使用报错 配置镜像源 错误记录】

错误 [rootlocalhost ~]# yum -y update 已加载插件:fastestmirror Loading mirror speeds from cached hostfileOne of the configured repositories failed (未知),and yum doesnt have enough cached data to continue. At this point the onlysafe thing yum c…

「数据结构」和「数据类型两个概念的本质是什么区别与联系是什么

貌似数据结构中包含了数据类型,而数据类型又建立在数据结构之上? 就像有人在其他评论里说的,数据本质上是没有类型的。我们都知道,数据在存储上是一堆01的数字, 刚好我有一些资料,是我根据网友给的问题精心…

神卓互联共享文件使用教程

#文件共享# 文件共享已成为我们日常生活和工作中不可或缺的一部分。它如同一条无形的纽带,将人们紧密地联系在一起,促进了信息的快速传播和交流。 文件共享的魅力在于其打破了地域和时间的限制。无论我们身处世界的哪个角落,只要有网络连接&a…

【Scrapy】Scrapy 中间件等级设置规则

准我快乐地重饰演某段美丽故事主人 饰演你旧年共寻梦的恋人 再去做没流着情泪的伊人 假装再有从前演过的戏份 重饰演某段美丽故事主人 饰演你旧年共寻梦的恋人 你纵是未明白仍夜深一人 穿起你那无言毛衣当跟你接近 🎵 陈慧娴《傻女》 Scrapy 是…

收银系统源码-次卡功能

智慧新零售收银系统是一套线下线上一体化收银系统,给门店提供了含线下收银称重、线上商城、精细化会员管理、ERP进销存、营销活动、移动店务助手等一体化行业解决方案! 详细功能见下文: 门店收银系统源码-CSDN博客文章浏览阅读2.6k次&#…

[Python爬虫] 抓取京东商品数据||京东商品API接口采集

本文结构: 一、引言 二、代码分享 三、问题总结 引言 这两天因为一些需求,研究了一下如何爬取京东商品数据。最开始还是常规地使用selenium库进行商品页的商品抓取,后来因为想要获取优惠信息,只能进入到商品详情页进行抓取&#x…

【5G VoNR】VoNR流程简述

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G技术研究。 博客内容主要围绕…

重写equals()方法为什么同时要重写hashcode()

equals()方法 equals()方法是Object类中的一个方法,在Object类中,equals等同于。 在不同的类中,往往会对equals()按需求进行重写。重写的目的都是:用于比较两个对象是否 "相等"。如果两个对象的内容相同,那…

fiddler移动端抓包

步骤 1、手机和电脑必须在同一个局域网: 1)手机和电脑连同一个WiFi; 2)手机连WiFi,电脑用网线连接开启这个WiFi的无线路由; 3)电脑开热点,手机连热点 2、开启fiddler代理&#xff…

faskapi好用的模板

在Web开发领域,FastAPI作为一个基于Python的高性能Web框架,因其快速、易用以及强大的功能而备受开发者青睐。关于FastAPI的好用模板,这里介绍几个不同角度的模板或项目框架,以帮助您更好地理解和选择适合自己的起点。 1. FastAPI…

第十一节 动态面板加密解密显示

在原型中我们经常会遇到文件加密与解密显示问题,下面以一个简单案例来说明实现怎么切换明文与密文不同显示方式案例说明; 1、添加动态面板 2、设置加密与不加密 3、添加动作事项 注意为可见时要设置面板状态向前循环,上一项,否则…

新闻第一线|随身WiFi市场乱象与破局者:格行以品质重塑行业信任、随身WiFi行业标杆!

在快速发展的移动互联网时代,随身WiFi凭借用网方便性价比高也随之爆火。然而,近年来,随身WiFi市场却陷入了“内卷”与“信任危机”的双重困境,消费者在选择时往往面临质量问题。在此背景下,格行以其独特的品牌理念和扎…

Linux网络配置管理

目录 一、网络配置 1. 网卡配置 2. 路由 二、 网络信息查看 1.netstat 2. ss 三、 额外的命令 time 一、网络配置 之前我们学过 ifconfig ,这个命令可以查看网络接口的地址配置信息,我们只知道它可以查看接口名称、IP 地址、子网掩码等。 但是&a…

笔记:Newtonsoft.Json 序列化接口集合

在使用 Newtonsoft.Json 序列化接口集合时,一个常见的挑战是如何处理接口的具体实现,因为接口本身并不包含关于要实例化哪个具体类的信息。为了正确序列化和反序列化接口集合,你需要提供一些额外的信息或使用自定义的转换器来指导 Newtonsoft…

【Unix/Linux】$bash-3.2是什么

bash-3.2 指的是Bourne Again Shell(Bash)的3.2版本。 Bash是一个广泛使用的Unix shell和命令语言,是GNU项目的一部分,也是许多Linux发行版和Unix系统的默认shell。 以下是一些关于Bash 3.2的要点: 1. 兼容性&#…

MySQL 进阶(二)【索引详解】

前言 程序员避不开和数据库打交道,大数据更是如此,不管是 MySQL、Oracle、SQL Server 这些 OLTP 数据库,还是Greeplum、StarRocks、Hive、Spark SQL、Flink SQL、ClickHouse 等 OLAP 数据库,SQL 都是最基础最重要的能力&#xff0…

DFS回溯剪枝|KMP通过数组记录减少判断子字符串|思路

KMP|DFS回溯剪枝 #1、NC149kmp 初步思路: 两层for循环,一个T的字符开始与 S的字符比较,挨个比较,遇到不同就continue当前T的字符,重复步骤》效率太低,超时 eg: TABSABABABD SABABD S!A时&#…

开发个人Go-ChatGPT--2 环境搭建

开发个人Go-ChatGPT–2 环境搭建 2.1 环境要求 Golang 1.22 Etcd Docker Redis Mysql 2.2Docker本地开发环境搭建 这里使用 Docker Compose 来编排管理我们的容器,docker-compose.yaml: version: 3.8services:mysql:image: mysql:8.0.18contain…

【目录】阅读须知!全博文、专栏大纲

首先要和大家说一下,博主的文章并不是想到哪里写到哪里,而是以整个大后端为主题,成体系的在写专栏,从和后端紧相关的计算机核心课程开始、到JAVA SE、JAVA EE、到数据库、MQ等各类中间件、再到业务场景、性能优化。当然也会涉及一…