JS数组合并push与concat区别分析

yizhihongxing

JS数组合并push与concat区别分析

push方法

push()是JavaScript内置方法之一,用于向数组末尾添加元素,并返回数组的新长度。

let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
arr1.push(...arr2);

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

此时arr1的值已经发生了改变,其元素为[1, 2, 3, 4, 5, 6]

concat方法

concat()也是JavaScript内置方法之一,它用于合并两个或多个数组,并返回新的合并后的数组,但不会修改原始数组。

let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let arr3 = [7, 8, 9];
let arr4 = arr1.concat(arr2, arr3);

console.log(arr4); // [1, 2, 3, 4, 5, 6, 7, 8, 9]

此时,arr1arr2arr3的值仍然是不变的,而arr4的值为合并后的数组[1, 2, 3, 4, 5, 6, 7, 8, 9]

push和concat区别

push和concat都可以用来合并数组,但是它们的区别在于:

  1. push() 方法会修改原始数组,将新元素添加到数组的末尾。而concat()方法不会修改原始数组,而是返回一个新数组。
  2. 使用push()合并数组时,需要使用扩展运算符来展开数组。因为 push()方法只能接受一个参数,所以需要把新的数组展开为单个参数。 在使用concat()方法时,则可以直接传入多个数组作为参数。

因此,如果需要修改原始数组,则可以使用push()来合并数组;否则,可以使用concat()来合并数组。

示例一:

let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let result = arr1.push(...arr2);

// arr1 = [1, 2, 3, 4, 5, 6]
// arr2 = [4, 5, 6]
// result = 6

示例二:

let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let arr3 = [7, 8, 9];
let result = arr1.concat(arr2, arr3);

// arr1 = [1, 2, 3]
// arr2 = [4, 5, 6]
// arr3 = [7, 8, 9]
// result = [1, 2, 3, 4, 5, 6, 7, 8, 9]

在这两个示例中,我们可以看到push()方法会直接修改原始数组arr1,并返回新长度;而concat()方法则不会修改原始数组,而是返回新的数组并给变量result赋值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS数组合并push与concat区别分析 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • AJAX初级教程之初识AJAX

    AJAX(Asynchronous JavaScript and XML)是一种用于在不重新加载整个页面的情况下更新页面的技术。本篇文章将为大家介绍AJAX的基本原理和初级应用。 1. AJAX 基本原理 AJAX 是一种使用 JavaScript 和 XML 以及现代浏览器支持的其他技术来创建交互式网页应用程序的技术。 AJAX最初用于在不重新加载整个页面…

    JavaScript 2023年6月11日
    00
  • TimergliderJS 一个基于jQuery的时间轴插件

    下面就为大家介绍一下“TimergliderJS 一个基于jQuery的时间轴插件”的完整攻略。 什么是TimergliderJS TimergliderJS是一款基于jQuery的时间轴插件,它可以帮助开发者在网站中实现时间轴的功能,展示时间上发生的事件,并支持自定义样式。与其他时间轴插件不同的是,TimergliderJS不仅提供一种基本的时间轴布局,同…

    JavaScript 2023年5月27日
    00
  • 深浅拷贝

    // 注意: 基本数据类型不存在深浅拷贝,只是值传递,复合数据类型才有深浅拷贝之说         var obj1 = { name: “吴亦凡” };         var obj2 = obj1;         obj1.name = “罗志祥”;         // 相当于把obj1的指针复制了一份给了obj2,两个指针指向了堆内存中的一块内存…

    JavaScript 2023年4月18日
    00
  • 微信小程序绑定手机号获取验证码功能

    下面是关于“微信小程序绑定手机号获取验证码功能”的完整攻略: 一、注册云服务 首先需要在微信公众平台中注册云服务,并且开通云开发环境。具体步骤如下: 登录微信公众平台,在左侧菜单中找到“设置”选项并点击 在“设置”页面中选择“开发者工具”,进入到开发者工具页面 点击“云开发”选项,并进行云服务注册和环境创建 二、创建验证码云函数 创建一个名为“getCode…

    JavaScript 2023年6月10日
    00
  • js 函数的执行环境和作用域链的深入解析

    JS 函数的执行环境和作用域链的深入解析 1. 执行环境 在 JavaScript 中,执行环境是指一段可执行代码的运行环境,有全局执行环境和函数执行环境两种。 全局执行环境 全局执行环境是在浏览器中直接打开网页时就会创建的执行环境,它是最顶层的环境。全局执行环境中定义的变量和函数被称为全局变量和全局函数,它们可以在程序的任何地方被访问和修改。 示例代码: …

    JavaScript 2023年6月10日
    00
  • 微信小程序 跳转方式总结

    下面是我对“微信小程序跳转方式总结”的详细讲解。 一、前言 在微信小程序中,跳转是一项非常重要的功能。跳转可以实现页面之间的连接和相互切换,从而提升用户体验和页面间的互动性。同时,在实现跳转的过程中也需要了解一些高级技巧,以方便开发出更加完善的功能。 二、跳转方式 微信小程序支持多种跳转方式,此处将对其进行总结。以下是常用跳转方式以及如何实现它们。 1、页面…

    JavaScript 2023年6月11日
    00
  • AngularJS通过$location获取及改变当前页面的URL

    AngularJS是一个前端MVVM框架,通过它可以方便地进行网页开发。在网页开发中,经常需要获取或改变当前页面的URL,AngularJS提供了$location服务实现这一功能。下面是一份简要的攻略: 1. $location服务的概述 AngularJS中的$location服务用于获取和改变URL。通过$location服务,可以获取当前页面的URL…

    JavaScript 2023年6月11日
    00
  • JavaScript 短路运算的实现

    JavaScript 短路运算的实现 在 JavaScript 中,短路运算又称为逻辑运算符的“短路求值”,它可以用于简化代码并提高效率。本文将详细讲解JavaScript短路运算的实现。 什么是短路运算? 短路运算是指当使用逻辑运算符 && 和 || 时,如果左手边的逻辑表达式已经能够确定最终的结果,则不再执行右侧的表达式。如果左侧的表达式…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部