第6章
数组(Arrays)
数组是编程中的基础部分。数组是一种数据列表。我们可以在一个变量中存储大量数据,这使我们的代码更易读、更易理解,也更方便对相关数据进行操作。
数组中的数据称为 元素。
下面是一个简单的数组示例:
// 1, 1, 2, 3, 5 和 8 是数组中的元素
let numbers = [1, 1, 2, 3, 5, 8];
数组可以使用数组字面量或 new 关键字轻松创建:
const cars = ["Saab", "Volvo", "BMW"]; // 使用数组字面量
const cars = new Array("Saab", "Volvo", "BMW"); // 使用 new 关键字
可以通过索引访问数组的值。数组的第一个元素索引总是 0,因为数组索引从 0 开始。
索引也可以用于修改数组元素:
const cars = ["Saab", "Volvo", "BMW"];
console.log(cars[0]);
// 结果: Saab
cars[0] = "Opel"; // 修改数组的第一个元素
console.log(cars);
// 结果: ['Opel', 'Volvo', 'BMW']
数组是一种特殊的对象类型。数组中也可以包含 对象 。
数组的 length 属性返回元素的数量。数组支持的方法如下表所示:
| 方法名称 | 描述 |
|---|---|
at() |
返回指定索引的元素或 undefined |
concat() |
返回两个或多个数组的组合 |
every() |
如果回调函数对数组中每个元素都返回 true,则返回 true |
filter() |
返回一个新数组,包含回调函数返回 true 的元素 |
find() |
返回第一个使回调函数返回 true 的元素 |
findIndex() |
返回第一个使回调函数返回 true 的元素索引 |
findLast() |
返回最后一个使回调函数返回 true 的元素 |
findLastIndex() |
返回最后一个使回调函数返回 true 的元素索引 |
flat() |
返回一个新数组,将所有子数组元素递归展开到指定深度 |
flatMap() |
先运行 map(),再运行深度为 1 的 flat() |
forEach() |
对数组中的每个元素执行回调函数,返回 undefined |
indexOf() |
返回搜索元素第一次出现的索引 |
join() |
将数组中的所有元素连接成一个字符串 |
lastIndexOf() |
返回搜索元素最后一次出现的索引 |
map() |
执行回调函数后返回一个新数组 |
pop() |
删除数组的最后一个元素并返回该元素 |
push() |
在数组末尾添加一个或多个元素,并返回数组的新长度 |
reduce() |
使用 callback(accumulator, currentValue, currentIndex, array) 对数组进行归约操作,返回最终结果 |
reduceRight() |
与 reduce() 类似,但从数组末尾开始 |
reverse() |
原地翻转数组元素,并返回数组的引用 |
shift() |
删除数组的第一个元素并返回该元素 |
slice() |
提取数组的一部分并返回新数组 |
some() |
如果回调函数对数组中至少一个元素返回 true,则返回 true |
sort() |
原地对数组元素进行排序,并返回数组的引用 |
splice() |
从数组中删除元素(可选择性替换),并返回删除的元素 |
unshift() |
在数组开头添加一个或多个元素,并返回数组的新长度 |
在本章中,我们将探讨以下主题: