JavaScript 数组 slice() 方法

JavaScript slice() 语法

slice() 是 JavaScript 数组的一个方法,它用于截取数组的一部分。

语法:

arr.slice(start, end)

说明:

slice() 方法接收以下 2 个参数。

  • start(可选):截取的开始下标(包含)。如果省略,则表示从下标 0 开始。
  • end(可选):截取的结束下标(不含)。如果省略,则表示截取到末尾。

slice(start, end) 截取范围为:[start, end),也就是:包含 start 但不包含 end。其中,end 可以省略。当 end 省略时,获取的范围为:start 到结尾

start 和 end 的取值还可以是负数,此时 -1 表示最后一个元素,而 -2 表示倒数第 2 个元素,依此类推。

注意:

  • slice() 方法不会修改原数组,而是返回一个新数组。
  • 数组和字符串都有 slice() 方法。如果小伙伴们想了解更多,可以查看:JavaScript 字符串 slice() 方法

JavaScript slice() 摘要

属于 JavaScript Array 对象
使用频率
修改原数组
官方文档 查看
MDN 查看

JavaScript slice() 示例

接下来,我们通过几个简单的例子来讲解一下 JavaScript slice() 方法是如何使用的。

示例 1:slice() 基本用法

const arr = ["Python""C++""Java""Go""Rust"];
console.log(arr.slice());
console.log(arr.slice(2));
console.log(arr.slice(1, 3));

运行结果如下。

[ 'Python', 'C++', 'Java', 'Go', 'Rust' ]
[ 'Java', 'Go', 'Rust' ]
[ 'C++', 'Java' ]

分析:

arr.slice() 截取的范围为:0 到末尾,也就是截取整个数组,因此返回的结果是:[ 'Python', 'C++', 'Java', 'Go', 'Rust' ]。

arr.slice(2) 截取的范围为:2 到末尾,因此返回的结果是:[ 'Java', 'Go', 'Rust' ]。

arr.slice(1, 3) 截取的范围为:[1, 3),也就是包含 1 但不包含 3,因此返回的结果是:[ 'C++', 'Java' ]。

示例 2:slice() 使用负下标

const arr = ["Python""C++""Java""Go""Rust"];
console.log(arr.slice(-2));
console.log(arr.slice(-3, -1));

运行结果如下。

[ 'Go', 'Rust' ]
[ 'Java', 'Go' ]

分析:

arr.slice(-2) 截取的范围为:-2 到末尾,因此返回的结果是:[ 'Go', 'Rust' ]。

arr.slice(-3, -1) 截取的范围为:[-3, -1),也就是包含 -3 但不包含 -1,因此返回的结果是:[ 'Java', 'Go' ]。

slice() 与 splice() 的区别

slice() 与 splice() 这 2 个方法看着相似,其实它们有着本质上的区别:

  • slice():不会修改原数组,而是截取数组的一部分,然后返回一个新数组。
  • splice():会修改原数组,它主要用于修改数组的一部分(通过添加、删除或替换元素)。splice() 会返回一个包含被删除元素的新数组(如果没有删除元素,则返回空数组)。

简单来说,当你需要 “复制” 或 “提取” 数组的一部分而不影响原数组时,应该使用 slice()。当你需要 “修改” 原数组时(例如删除或添加元素),应该使用 splice()。

上一篇: join()

下一篇: concat()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号