数组是编程中的基础部分。数组是一种数据列表。我们可以在一个变量中存储大量数据,这使我们的代码更易读、更易理解,也更方便对相关数据进行操作。
数组中的数据称为 元素。
下面是一个简单的数组示例:
// 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']{% hint style="working" %} 数组是一种特殊的对象类型。数组中也可以包含 对象 。 {% endhint %}
数组的 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() | 在数组开头添加一个或多个元素,并返回数组的新长度 |