array.push.apply的思路

简介: array.push.apply的思路

我们都知道 array.push()这个方法可以在数组的末尾添加值到原数组。

但是如果我们希望两个数组相加呢?

const Arr1=[1,2,3];
const Arr2=[4,5,6];

你可能脱口而出,我Arr1.push(Arr2)不就行了吗,实际上并不是,push方法只是简单的把数组Arr2整个添加到Arr1上了。

Arr1=[1,2,3,[Arr2]]

这时候我们就要用到apply了,我们看MDN的解释

image.png

关于我们这道题,重点在于这句话

image.png

Arr1.push.apply(null,Arr2)

image.png

我们不要忘了Arr1.push()其实就是一个函数,而我们apply是像数组元素里的每一项单独传给push函数,也就是这句话。

image.png

那我们push函数是干啥呢?不就是给你的Arr1后面添加元素吗?那我每一项都给你单独执行push,这不就相当于合并了数组了吗?

1.要记住,这个方法改变的是原数组,没有新增数组。


2.ES6的 const NewArry =[...Arr1,...Arr2]是让两个数组相加创建了一个新的数组。


这不就绕过来了吗?

相关文章
|
安全 网络安全 数据库
达梦数据库 忘记 SYSDBA 密码 处理方法
达梦数据库支持四种安全验证模式:数据库身份验证、基于操作系统的身份验证、外部身份验证和UKEY验证。当忘记SYSDBA密码时,可通过启用操作系统认证模式来恢复:修改`dm.ini`配置文件启用`ENABLE_LOCAL_OSAUTH = 1`,重启服务后,使用`disql / as sysdba`登录修改密码。之后,禁用操作系统认证,恢复原验证模式,确保数据库安全。
3827 0
|
程序员 人工智能 Serverless
通义灵码保姆级教程:官网、安装、使用指南、常见问题、线上活动、官方答疑
通义灵码保姆级教程:官网、安装、使用指南、常见问题、线上活动、官方答疑
21762 1
|
5月前
|
人工智能 自然语言处理 前端开发
Trae插件Builder模式深度测评:从编程助手到AI工程师的进化
Trae插件最新推出的Builder模式标志着AI辅助编程工具从简单的代码补全向“AI工程师”角色的转变。该模式允许开发者通过自然语言描述项目需求,自动生成完整的项目结构、代码文件和开发流程,支持VSCode、JetBrains IDE及在线Web版本。Builder模式的核心功能包括自然语言项目初始化、智能项目架构设计和多文件协调代码生成,显著提升了开发效率,降低了技术门槛。然而,它在处理复杂业务逻辑和高度定制化需求方面仍有局限。未来,Builder模式将集成云部署、测试套件生成和DevOps流水线等功能
1302 2
|
9月前
|
前端开发 UED 开发者
精通 CSS 阴影效果:从基础到高级应用
本文详细介绍了CSS阴影效果的使用方法,包括`box-shadow`和`text-shadow`的基本语法、参数解释及进阶应用。通过多个示例展示了如何实现外阴影、内阴影、渐变阴影以及多重阴影效果,并结合实际场景如浮动按钮和卡片式设计,说明了阴影与背景的综合应用。此外,还提供了性能优化建议,帮助开发者在确保视觉效果的同时提升页面性能。最后,总结了CSS阴影的重要性及其对网页美观度和用户体验的提升作用。
933 6
|
网络安全 开发工具 git
git 出现错误:kex_exchange_identification: read: Connection reset by peer fatal
git 出现错误:kex_exchange_identification: read: Connection reset by peer fatal
git 出现错误:kex_exchange_identification: read: Connection reset by peer fatal
|
存储 移动开发 HTML5
SessionStorage 和 LocalStorage 有什么区别?
SessionStorage 和 LocalStorage 有什么区别?
579 3
|
10月前
|
IDE iOS开发 Python
小白如何开始使用通义灵码(含安装IDE、安装灵码插件)
PyCharm 和 IntelliJ IDEA 下载安装及通义灵码插件下载安装说明
8953 9