JS 数组切片

在 JavaScript 中,数组切片是一种常用的操作,它允许我们从数组中提取出一部分元素,形成一个新的子数组。数组切片通常用于对数组进行分页显示、数据筛选、截取等操作。本文将详细介绍 JavaScript 中的数组切片操作,包括切片的原理、语法、常见用法和示例代码演示。
切片的原理
数组切片的原理很简单,就是根据指定的起始索引位置和结束索引位置,在原数组中截取一段连续的子数组。起始索引位置即要开始截取的位置,结束索引位置即截取的终止位置,但并不包括结束索引位置对应的元素。具体说来,如果给定一个数组 arr,起始索引位置为 start,结束索引位置为 end,则截取的子数组为 arr[start:end]。
注意,数组切片操作并不会修改原数组,而是返回一个新的子数组。
语法
数组切片的基本语法如下:
arr.slice(start, end)
其中,arr 是要进行切片操作的数组,start 是起始索引位置,end 是结束索引位置。如果不指定 end,则默认截取到末尾。切片操作返回一个新的数组,包含原数组从 start 到 end 的所有元素(不包括 end 对应的元素)。
常见用法
1. 截取数组的一部分
const arr = ['a', 'b', 'c', 'd', 'e'];
const slicedArr = arr.slice(1, 4); // 从索引 1 截取到索引 4(不包括索引 4)
console.log(slicedArr); // ['b', 'c', 'd']
2. 复制数组
const originalArr = ['apple', 'banana', 'cherry'];
const copyArr = originalArr.slice();
console.log(copyArr); // ['apple', 'banana', 'cherry']
console.log(originalArr === copyArr); // false
3. 从末尾截取
const arr = ['a', 'b', 'c', 'd', 'e'];
const slicedArr = arr.slice(-3); // 从倒数第三个元素开始截取到末尾
console.log(slicedArr); // ['c', 'd', 'e']
4. 不改变原数组
const arr = ['a', 'b', 'c', 'd', 'e'];
const slicedArr = arr.slice(1, 4);
console.log(arr); // ['a', 'b', 'c', 'd', 'e']
示例代码演示
下面通过几个示例演示数组切片的常见用法:
// 截取数组的一部分
const arr1 = ['apple', 'banana', 'cherry', 'date', 'elderberry'];
const slicedArr1 = arr1.slice(1, 4);
console.log(slicedArr1); // ['banana', 'cherry', 'date']
// 复制数组
const originalArr2 = ['apple', 'banana', 'cherry'];
const copyArr2 = originalArr2.slice();
console.log(copyArr2); // ['apple', 'banana', 'cherry']
// 从末尾截取
const arr3 = ['a', 'b', 'c', 'd', 'e'];
const slicedArr3 = arr3.slice(-3);
console.log(slicedArr3); // ['c', 'd', 'e']
// 不改变原数组
const arr4 = ['a', 'b', 'c', 'd', 'e'];
const slicedArr4 = arr4.slice(1, 4);
console.log(arr4); // ['a', 'b', 'c', 'd', 'e']
以上就是 JavaScript 中数组切片的详细介绍。
极客笔记