ES9 中的 Array.slice() 方法和 Array.splice() 方法的区别和应用

在 JavaScript 中,Array.slice() 和 Array.splice() 都是常用的数组操作方法。虽然这两个方法都可以对数组进行截取或者删除操作,但是它们的使用方法和效果是不同的。本文将详细介绍 ES9 中的 Array.slice() 方法和 Array.splice() 方法的区别和应用。

Array.slice() 方法

Array.slice() 方法可以从一个数组中截取出一部分元素,并返回一个新的数组。这个新数组包含了原数组中从开始位置到结束位置之间的元素,但是不包含结束位置的元素。

Array.slice() 方法的语法如下:

其中,start 和 end 都是可选参数。start 表示截取的开始位置,默认为 0;end 表示截取的结束位置,默认为数组的长度。如果 end 参数为负数,则表示从数组末尾开始计算的位置。

下面是一个使用 Array.slice() 方法的示例代码:

在这个示例中,我们使用 Array.slice() 方法从 arr 数组中截取了从索引 2 到索引 4(不包含索引 4)之间的元素,返回了一个新的数组。

Array.splice() 方法

Array.splice() 方法可以从一个数组中删除一部分元素,并返回一个新的数组。这个新数组包含了被删除的元素。

Array.splice() 方法的语法如下:

其中,start 表示删除的开始位置;deleteCount 表示删除的元素个数;item1, item2, ... 表示要插入到数组中的元素。如果 deleteCount 参数为 0,则表示不删除任何元素,只插入新的元素。

下面是一个使用 Array.splice() 方法的示例代码:

在这个示例中,我们使用 Array.splice() 方法从 arr 数组中删除了从索引 2 开始的 2 个元素,并插入了两个新的元素,返回被删除的元素组成的数组。

区别和应用

Array.slice() 方法和 Array.splice() 方法的最大区别在于,Array.slice() 方法不会改变原数组,而是返回一个新的数组;而 Array.splice() 方法会改变原数组,并返回被删除元素组成的数组。

因此,当我们需要从一个数组中截取一部分元素而不改变原数组时,可以使用 Array.slice() 方法;当我们需要从一个数组中删除一部分元素并插入新的元素时,可以使用 Array.splice() 方法。

下面是一个使用 Array.slice() 方法和 Array.splice() 方法的示例代码:

在这个示例中,我们使用了 Array.slice() 方法和 Array.splice() 方法分别对数组进行了截取和删除操作,并输出了结果。

总结

Array.slice() 方法和 Array.splice() 方法都是常用的数组操作方法,它们的使用方法和效果是不同的。在实际开发中,我们需要根据需求选择合适的方法来对数组进行操作,以达到最好的效果。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/656aa973d2f5e1655d312009


纠错
反馈