JS数组合并push与concat区别分析
作者:wandejun1012 发布时间:2024-04-22 22:40:09
标签:JS,数组,合并
本文实例讲述了JS数组合并push与concat区别。分享给大家供大家参考,具体如下:
共同点
两个方法都可以在一个数组内增添新的元素,参数都是无限的参数列表,使用方法如下
var testPushArr=[];
testPushArr.push(item1,item2,item3...);
var testConcatArr=[];
var concatArr = testConcatArr.concat(item1,item2,item3...);
push和concat的元素都既可以是普通元素(任意类型),也可以数组元素
区别
push()
push的item会添加到末尾,并且都是以整体的形式添加到数组末尾,数组元素会直接以数组整体的形式存在
push方法会直接修改原数组,返回值为加入元素后的新数组长度
示例代码
var testPushArr=[1,2];
testPushArr.push(3,[4,5]);
console.log(testPushArr);//1,2,3,[4,5]
concat()
concat的元素会被打碎,非数组元素无法打碎,以整体形式加入,数组元素会被打碎,以单个元素的形式加入
concat方法不会修改原数组,而是连接之后返回一个新的数组,通常用arr = arr.concat(...)的形式来接收返回值,否则看不到修改效果
示例代码
ar testConcatArr=[1,2];
var concatArr = testConcatArr.concat(3,[4,5]);
console.log(concatArr );//1,2,3,4,5
下面是补充
注意 concat 拼写,二者功能很相像,但有两点区别。
先看代码:
var arr = [];
arr.push(1);
arr.push([2, 3]);
arr.push(4, 5);
arr = arr.concat(6);
arr = arr.concat([7, 8]);
arr = arr.concat(9, 10);
arr.each(function(index, value){
alert(value);
});
alert 结果:
1
2,3
4
5
6
7
8
9
10
区别:
push 遇到数组参数时,把整个数组参数作为一个元素;而 concat 则是拆开数组参数,一个元素一个元素地加进去。
push 直接改变当前数组;concat 不改变当前数组。
总结:
如果想数组追加用concat,但是和java的replace一样,用完记得arr1=arr1.concat(arr2)
希望本文所述对大家JavaScript程序设计有所帮助。


猜你喜欢
- 00 前言什么是ImageMagick?ImageMagick是一个功能强大的开源图形处理软件,可以用来读、写和处理超过90种的图片文件,包
- 本文实例讲述了vue实现图片懒加载的方法。分享给大家供大家参考,具体如下:vue图片懒加载使用首先第一步,安装插件vue-lazyloadn
- 在这个周末刚刚写出来的python桌面应用--网络聊天室,主要通过pyqt5作为桌面应用框架,socket作为网络编程的框架,从而实现包括客
- 问题作为一个负责几个服务器的数据库管理员,我接到许多电话是关于磁盘空间的。我所做的第一件事是找到可以缩小的数据文件来释放一些磁盘上的空间。我
- 前言Python本身已有顺序表(List、Tupple)的实现,所以这里从栈开始。什么是栈想象一摞被堆起来的书,这就是栈。这堆书的特点是,最
- 话不多说,直接看示例首先是图片标记的写法<img data-src="/images/image.jpg" alt
- 其实最近看了不少Golang接口以及方法的阐述都有一个地方没说得特别明白。就是在Golang编译隐式转换传递给方法使用的时候,和调用函数时的
- 1. 问题抓取某个网站,发现请求参数是乱码格式,这是点击 TextView,发现请求参数如下图所示3. 那么=%B9%FA%CE%F1%D4
- 最近做了一个前端项目,其中有需求:通过button直接把input或者textarea里的值复制到粘贴板里。下面小编把我实现思路及代码分享给
- 如果想读取用 open() 函数打开的文件中的内容,除了可以使用 read() 函数,还可以使用 readline() 和 readline
- 今天小编给大家推荐一个超强交互式可视化绘制工具-python-highcharts,熟悉HightCharts绘图软件的小伙伴对这个不会陌生
- 本文实例讲述了js+html5操作sqlite数据库的方法。分享给大家供大家参考,具体如下://copyright by lanxyou l
- 查了查《VBSCRIPT 速查手册》InstrRev的用法:InstrRev函数,功能:返回某字符串在另一个字符串中出现的从结尾计起的位置语
- 记录一下安装win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+py
- y = wx +b通过meshgrid 得到两个二维矩阵关键理解:plot_surface需要的xyz是二维np数组这里提前准备meshgr
- 1. Python模块和包:一切从基础开始Python模块是一个Python文件,包含一些相关的函数、类或变量的定义,可以通过 i
- train_comb 为Dataframe数据:train_comb= train_comb.as_matrix() #得到values的n
- #!/usr/bin/python#coding:utf-8#write:JACK#info:ftp exampleimport ftpli
- Python中可以使用for循环实现累加求和for循环语法:for 变量 in range(x):循环需要执行的代码如下实现1到n求和:de
- 我就废话不多说了,大家还是看代码吧! import PyPDF2 import repdf_file = open('xxx.pdf