JavaScript中有哪些方法会改变原数组?

JavaScript中push()、pop()、unshift()、shift()、splice()、reverse()、sort()这7个数组方法会直接修改原数组。

JavaScript中部分数组方法会直接修改原数组,这些方法在调用后会导致原数组内容、长度或顺序发生变化。以下是常见的会改变原数组的方法及其具体操作步骤:

一、push() 方法

该方法用于在数组末尾添加一个或多个元素,并返回新数组的长度,同时直接修改原数组。

1、定义一个数组:const arr = [1, 2, 3];

2、调用 push 方法添加元素:arr.push(4, 5);

3、此时 arr 的值变为 [1, 2, 3, 4, 5],原数组已被修改。

二、pop() 方法

该方法删除并返回数组的最后一个元素,执行后原数组长度减 1。

1、定义数组:const arr = [1, 2, 3];

2、调用 pop 方法:arr.pop();

3、此时 arr 的值变为 [1, 2],原数组已被修改。

三、unshift() 方法

该方法在数组开头插入一个或多个元素,并返回新数组长度,原数组被直接修改。

1、定义数组:const arr = [2, 3];

2、调用 unshift 方法:arr.unshift(0, 1);

3、此时 arr 的值变为 [0, 1, 2, 3],原数组已被修改。

四、shift() 方法

该方法删除并返回数组的第一个元素,执行后原数组长度减 1,其余元素索引前移。

1、定义数组:const arr = [1, 2, 3];

2、调用 shift 方法:arr.shift();

3、此时 arr 的值变为 [2, 3],原数组已被修改。

五、splice() 方法

该方法用于在指定位置删除、替换或插入元素,是功能最全面的原地修改方法,始终改变原数组。

1、定义数组:const arr = [1, 2, 3, 4, 5];

2、删除中间两个元素:arr.splice(1, 2);

3、此时 arr 的值变为 [1, 4, 5],原数组已被修改。

六、reverse() 方法

该方法将数组中元素的顺序完全颠倒,直接修改原数组。

1、定义数组:const arr = [1, 2, 3];

2、调用 reverse 方法:arr.reverse();

3、此时 arr 的值变为 [3, 2, 1],原数组已被修改。

七、sort() 方法

该方法对数组元素进行原地排序,默认按字符串 Unicode 码点排序,直接修改原数组。

1、定义数组:const arr = [3, 1, 2];

2、调用 sort 方法:arr.sort();

3、此时 arr

的值变为 [1, 2, 3],原数组已被修改。