slice方法不修改原数组,返回指定范围的新数组;支持正负索引、自动越界修正及浅拷贝,适用于提取子数组,与会改变原数组的splice有本质区别。

slice 方法不会修改原数组,而是返回一个包含指定范围元素的新数组。
基本用法:指定起始和结束位置
语法是 array.slice(start, end),其中 start 是开始索引(包含),end 是结束索引(不包含)。索引从 0 开始,支持负数(表示从末尾倒数)。
- 如果省略
end,默认截取到数组末尾 - 如果
start或end超出范围,会自动调整为合法边界(比如大于长度就取长度) - 负数索引:-1 表示最后一个元素,-2 表示倒数第二个,以此类推
常见使用场景
提取前几个、后几个或中间一段数据都很方便:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 取前 3 个:
arr.slice(0, 3) - 取最后 2 个:
arr.slice(-2) - 去掉第一个:
arr.slice(1) - 去掉最后 1 个:
arr.slice(0, -1)
注意点:浅拷贝,不是深拷贝
slice 返回的是新数组,但只复制一层引用。如果原数组里有对象或嵌套数组,新数组中的这些元素仍指向同一内存地址。
立即学习“Java免费学习笔记(深入)”;
- 对基本类型(数字、字符串)安全,修改新数组不影响原数组
- 对引用类型(对象、数组),修改对象内部属性会影响原数组里的对应对象
和 splice 的区别
splice 会直接修改原数组,并返回被删除的元素;slice 完全不改变原数组,只读取并返回副本。
- 需要保留原数组?用
slice - 需要删除或插入元素?用
splice

















