在JavaScript中,修改或覆盖原数组元素的方法被称为数组突变器方法,在JavaScript中有许多内置的方法可以利用来修改原数组的元素。例如,forEach()、reverse()、splice()、fill()和shift()方法。本文将通过几个例子对这些方法做一个全面的介绍。
JavaScript中的sort()方法
对数组元素进行排序是非常重要的,在JavaScript中,一个内置的方法**'sort()'** 被用来对未排序的数组元素进行排序,默认情况下,它对数组元素进行升序排序。
const Input_Array = [15, 13, 0, 12, -10, 6];
Input_Array.sort();
console.log("The sorted array : ", Input_Array);
我们在这个程序中使用了sort()函数,结果是它会返回一个排序的数组。

我们还可以传递比较参数。例如,考虑下面给出的代码,按降序打印数组。
const Input_Array = [15, 13, 0, 12, -10, 6];
Input_Array.sort(function(lower, higher){
return higher-lower;
});
console.log("The sorted array : ", Input_Array);
我们给函数传递了两个参数 "lower "和 "higher","higher-lower "将以降序返回输出,而 "lower-higher "将以升序返回输出。

JavaScript中的reverse()方法
在JavaScript中,"reverse() "方法被用来逆转数组元素的顺序,考虑下面给出的代码来理解逆转函数的工作。
const Input_Array = [15, 13, 0, 12, -10, 6];
Input_Array.reverse();
console.log("The reverse array : ", Input_Array);
反向函数的输出将是:

JavaScript中的push()方法
为了给数组添加一些新的元素,JavaScript使用了 "push() "方法,它在数组的最后一个索引添加新的元素。
const Input_Array = [15, 13, 0, 12, -10, 6];
Input_Array.push(100);
console.log("The updated array : ", Input_Array);
我们用push方法在数组中追加了'100',输出结果将是:

JavaScript中的pop()方法
在JavaScript中,"pop() "方法删除了数组中的最后一个元素。
const Input_Array = [15, 13, 0, 12, -10, 6];
Input_Array.pop();
console.log("The updated array : ", Input_Array);
上面的代码将从数组中拉出 "6",结果输出为:

JavaScript中的shift()方法
shift()方法是用来删除数组的第一个元素的。
const Input_Array = [15, 13, 0, 12, -10, 6];
Input_Array.shift();
console.log("The updated array : ", Input_Array);
上面的代码将从数组中拉出 "15",这个程序的输出将是:

JavaScript中的unshift()方法
在JavaScript中,"unshift() "函数以一个元素为参数,将其放在数组的开头。
const Input_Array = [15, 13, 0, 12, -10, 6];
Input_Array.unshift(50);
console.log("The updated array : ", Input_Array);
上面给出的代码的输出将是:

在JavaScript中的fill()方法
在JavaScript中,"fill() "方法用一些指定的值来复制数组中的所有条目。
const Input_Array = [15, 13, 0, 12, -10, 6];
Input_Array.fill(50);
console.log("The updated array : ", Input_Array);
现在我们将在 "Input_Array "上实现 "fill "方法。
在输出中,数组的所有元素将被复制为'50'。

fill方法还处理了可选参数。它需要三个参数,第一个是指定的值,第二个是起始索引,第三个参数是最后的索引。结果是,它将复制数组中从指定的起始索引到指定的最后索引的所有元素。
const Input_Array = [15, 13, 0, 12, -10, 6];
Input_Array.fill(50, 1, 4);
console.log("The updated array : ", Input_Array);
作为一个例子,我们在fill方法中传递了50、1和3,现在fill方法将用50替换从索引1到索引3的数组元素。而其余的索引值将保持不变。现在观察一下参数化填充方法的输出。

JavaScript中的splice()方法
在JavaScript中,"splice() "方法由于其独特和特殊的属性而被频繁使用。它可以追加或删除一个数组中的元素,并且可以同时执行这两个动作。
splice()方法有三个参数。
- 第一个参数获取起始索引
- 第二个参数指定要删除的元素总数
- 第三个参数是可选的,它需要在数组中插入某个元素。
现在考虑一个例子,我们想在数组中增加一个元素而不删除任何现有元素。
const Input_Array = [15, 13, 0, 12, -10, 6];
Input_Array.splice(2, 0, 5);
console.log("The updated array : ", Input_Array);
在这个例子中,我们把第二个参数的值设置为0。在输出中,我们观察到'5'被添加到索引2处,并且没有删除任何现有的值。

现在我们将考虑一个例子,我们想从数组中删除一个元素。
const Input_Array = [15, 13, 0, 12, -10, 6];
Input_Array.splice(1,2);
console.log("The updated array : ", Input_Array);
这里在第一个参数中,我们指定了起始索引'1',在第二个参数中,我们写了'2',指定删除数组的两个元素。我们没有写第三个参数,因为我们不想在数组中增加一个新的元素。
在输出中,我们注意到索引1和2的值被从数组中删除。

现在我们将考虑一个例子,同时增加和删除一个数组的一些条目。
const Input_Array = [15, 13, 0, 12, -10, 6];
Input_Array.splice(1,2,50);
console.log("The updated array : ", Input_Array);
所以,在这个例子中,"splice() "方法指定从索引1开始删除两个元素并在索引1插入一个新元素。

结论
在JavaScript中,突变器方法并不创建新的数组,而是修改当前数组。在这篇文章中,我们介绍了各种数组突变器函数。我们学习了突变器方法在JavaScript中的工作原理,并分析了在所有这些方法中,pop方法和push方法修改数组的最终索引,而shift方法和unshift方法则修改数组的初始索引。此外,我们还弄清楚了如何对数组进行升序或降序排序,以及如何使用不同的变体方法对数组元素进行反向或复制。