数组concat(数组const)

http://www.itjxue.com  2023-01-29 02:38  来源:未知  点击次数: 

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个数组拼接起来的方法

(责任编辑:IT教学网)

更多

推荐其他营销文章