数组concat(数组const)
JS 数组的 push 与 concat 区别
1、功能不同
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
concat() 方法用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
2、函数不同
push() :
var?a?=?[1,2,3,4];
a.push(5);??//a?现在是1,2,3,4,5
concat() :
var?a?=?[1,2,3,4];
var?b?=?[5,6];
var?c?=?a.concat(b);?//?a,b?数组都不变,c变成了1,2,3,4,5,6
扩展资料:
push是一个汇编术语,实现压入操作的指令是PUSH指令,实现弹出操作的指令是POP指令。
push()?说明
push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。
concat() 返回值
返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。
例子
把 concat() 中的参数连接到数组 a 中:
script type="text/javascript"
var a = [1,2,3];
document.write(a.concat(4,5));
/script
输出:1,2,3,4,5
参考资料来源: 百度百科-push (汇编术语)
concat ()的用法
concat() 方法用于合并两个或更多个数组。此方法不会更改现有的数组,而是返回一个新的数组。
var a=[1,2,3];
var b=[4,5,6];
console.log(a.concat(b));
结果如下:
字符串也是一样
数组方法concat的作用及实现原理
什么是concat?
? ? ? ? W3c中给出的定义是:concat()方法是用于连接两个数组或者多个数组使用。
如何使用这个方法
W3c中也给出了语法:arrayObject.concat(arrayX,arrayX,......,arrayX)。
这段语法分段解析怎么理解:arrayObject就是合并生成的地方,arrayX就是传递的参数。
????这里说到参数了,那参数是怎么定义的呢?
concat方法对于参数的定义是必需填写,该参数可以是具体的值,也可以是数组对象。可以是一个也可以是多个,
那有了这个语法咱们也可以使用一下看看效果
那已经使用了这个方法了,有没有想过是怎么实现的这个方法呢,它的内部经过了什么样的操作才能够让这个方法能有这样的功能呢?
实现原理
以上就是 concat 的实现原理,中间穿插了注释来做相关介绍,如有不对的地方,请大佬指出;
JavaScript中concat复制数组方法浅析
我们在需要进行数组复制的时候可能会想到以下的方法
代码
var
arr1
=
[1,2,3,4,5];
var
arr2
=
[];
arr2
=
arr1;
console.log(arr1);
console.log(arr2);
执行结果如下:
[1,
2,
3,
4,
5]
[1,
2,
3,
4,
5]
在这个例子中,将数组arr1赋值给了另一个数组arr2。
查看执行结果,似乎复制了数组的内容并创建了相同的数组。
但是,由于数组是“引用类型”的数据,因此它不会复制该值,而只是共享存储该值的内存的位置。
因此,我们编写以下代码
arr2.push(6);
console.log(arr1);
console.log(arr2);
执行结果如下
[1,
2,
3,
4,
5,
6]
[1,
2,
3,
4,
5,
6]
根据以上结果可以发现即使我们只给arr2添加新值6,但是数组arr1中也会添加一个6,这就是因为两个
数组都只引用存储值的位置,如果更改任一数组中的数据,两者都会改变。
所以下面我们就来使用concat方法复制数组
我们来看具体示例
var
arr1
=
[1,2,3,4,5];
var
arr2
=
[];
arr2
=
arr1.concat();
arr2.push(6);
console.log(arr1);
console.log(arr2);
执行结果如下
[1,
2,
3,
4,
5]
[1,
2,
3,
4,
5,
6]
要将另一个数组复制到数组arr2,只需要在复制源arr1中执行concat()即可。
您可能感兴趣的文章:js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解深入理解javascript中concat方法javascript使用
concat
方法对数组进行合并的方法JS
Array创建及concat()split()slice()的使用方法浅谈JavaScript的push(),pop(),concat()方法JavaScript模拟数组合并concatjs采用concat和sort将N个数组拼接起来的方法