JS数组合并(5种)

JS数组合并(5种)前言项目过程中,经常会遇到JS数组合并的情况,时常为这个纠结。这里整理一下。简单而实用的for最容易想到的莫过于for了。会变更原数组,当然也可以写成生成新数组的形式。letarr=[1,2]letarr2=[3,4]for(letiinarr2){arr.push(arr2[i])}console.log(arr)//[1,2,3,4]arr.concat(arr2)会生成新的数组。letarr=[1,2]let

大家好,又见面了,我是你们的朋友全栈君。

前言

项目过程中,经常会遇到 JS 数组合并的情况,时常为这个纠结。这里整理一下。

简单而实用的for

最容易想到的莫过于 for 了。

会变更原数组,当然也可以写成生成新数组的形式。

let arr = [1, 2]
let arr2 = [3, 4]

for (let i in arr2) { 
   
    arr.push(arr2[i])
}

console.log(arr)
// [1, 2, 3, 4]

arr.concat(arr2)

会生成新的数组。

let arr = [1, 2]
let arr2 = [3, 4]

arr = arr.concat(arr2)

console.log(arr)
// [1, 2, 3, 4]

arr.push.apply(arr, arr2)

第一种 for 循环就是使用的 push 来实现的。

因为 push 是可以接收多个参数的,所以我们可以使用 apply 来实现。

会变更原数组。

let arr = [1, 2]
let arr2 = [3, 4]

arr.push.apply(arr, arr2)

console.log(arr)
// [1, 2, 3, 4]

[…arr, …arr2]

ES6 的语法,简单而实用。

会生成新的数组。

let arr = [1, 2]
let arr2 = [3, 4]

arr = [...arr, ...arr2]

console.log(arr)
// [1, 2, 3, 4]

push(…arr)

push 结合 ...[] 来实现。

会变更原数组。

let arr = [1, 2]
let arr2 = [3, 4]

arr.push(...arr2)

console.log(arr)
// [1, 2, 3, 4]

最后

实现方式大同小异,可以理解那最容易理解的一部分。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147435.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 模拟实现strstr函数

    模拟实现strstr函数推荐一篇讲解KMP算法的文章–阮一峰http://www.ruanyifeng.com/blog/2013/05/Knuth–Morris–Pratt_algorithm.html推荐一篇讲解Boyer-Moore算法的文章–阮一峰http://www.ruanyifeng.com/blog/2013/05/boyer-moore_string_search_algorithm.html…

    2022年6月25日
    21
  • iOS 7 UI 过渡指南 – 開始之前(iOS 7 UI Transition Guide – Before You Start)[通俗易懂]

    iOS 7 UI 过渡指南 – 開始之前(iOS 7 UI Transition Guide – Before You Start)

    2022年2月7日
    43
  • 给 iTerm 终端设置代理

    给 iTerm 终端设置代理

    2021年5月12日
    118
  • revit二次开发教程_BIM二次开发

    revit二次开发教程_BIM二次开发1、利用revit2012和vs2010实现二次开发。1)第一步,利用vs2010建立c#Windows服务类型的项目。2)给新生成的项目添加引用,(放在工程上右键),添加revit相关,把

    2022年8月1日
    0
  • [分享]在线的代码片段测试工具 jsbin[通俗易懂]

    [分享]在线的代码片段测试工具 jsbin[通俗易懂]有些时候,我们往往有这样的需求:临时测试一个代码片段,不想打开编辑器来新建一个文件,测试完毕又删除想给别人分享一个代码,html文件,css文件,js文件,打个包?向别人展个某个效果,发个文件过去?把代码部署到自己服务器上面?针对这些需求,我们使用在线的代码片段测试工具,也许来得更加简单和方便了。针对前端的在线代码片段工具很多,比较常见的有jsbin和jsfiddle以及codepen.而我最喜欢的就是jsbin了,它有着更多的特性给我带来了极大的方便:任意控制要展示的窗口点击这些标

    2025年7月31日
    1
  • 配置 PyCharm for Linux 设置启动图标 pycharm-edu-2021.3.1 Ubuntu 18.04.6 LTS

    配置 PyCharm for Linux 设置启动图标 pycharm-edu-2021.3.1 Ubuntu 18.04.6 LTS安装PyCharm下载PyCharm教育版,使用tar-zxvf命令将其解压到你希望的软件安装位置,解压完就是安装完了,要选择一个你有全部权限的目录,一般在自己家目录下挑选位置即可。cd到安装目录下,执行以下命令运行PyCharm,第一次运行会有一些选择内容,按实际选择即可。cdbin/./pycharm.sh安装完成!自定义图标固定到收藏夹在下面两个路径中任选,创建matlab.desktop文件。前者是系统全局的,后者是当前用户私有的/usr/share/appl

    2022年10月22日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号