返回

数组方法整理:ES6 到 ES13 更新指南

前端

学习笔记——数组方法整理(包含 ES6—ES13 的更新)

定义: 数组是值的有序集合。JS 的数组是无类型的,数组元素可以是任意类型,并且同一个数组的不同元素也可能有不同的类型,每一个值叫做元素(数组元素),每个元素在数组中有一个位置。数组在平常的 code 中出现频率很高,也是非常重要的一个内置对象。

数组方法:

1. ES6(ECMAScript 2015)

  • Array.from() 将类似数组或可迭代对象转换为真正的数组。
  • Array.of() 创建一个包含指定元素的新数组。
  • find() 返回数组中满足指定条件的第一个元素。
  • findIndex() 返回数组中满足指定条件的第一个元素的索引。
  • includes() 检查数组是否包含指定元素。
  • entries() 返回数组中每个元素及其索引的键值对。

2. ES7(ECMAScript 2016)

  • copyWithin() 在数组中将指定范围内的元素复制到另一个指定范围。

3. ES8(ECMAScript 2017)

  • Array.prototype.values() 返回数组中每个元素的值。

4. ES9(ECMAScript 2018)

  • flat() 将多维数组展平成一维数组。
  • flatMap() 将多维数组展平成一维数组,并应用一个映射函数。

5. ES10(ECMAScript 2019)

  • Array.prototype.sort() 通过比较函数来对数组元素进行排序。

6. ES11(ECMAScript 2020)

  • Array.prototype.filter() 创建一个新数组,其元素是通过检查指定条件通过的原始数组的元素。
  • Array.prototype.keys() 返回一个新的Array Iterator对象,该对象包含数组中每个索引的键。

7. ES12(ECMAScript 2021)

  • Array.prototype.groupBy() 将数组中的元素分组,并根据指定的键返回一个新对象。
  • Array.prototype.unique() 从数组中删除重复的元素,并返回一个新数组。

8. ES13(ECMAScript 2022)

  • Array.prototype.average() 计算数组中所有元素的平均值。
  • Array.prototype.median() 计算数组中所有元素的中位数。

示例:

const numbers = [1, 2, 3, 4, 5];

// 使用 ES6 的 `Array.from()` 方法将类数组对象转换为数组
const arrayFromNodeList = Array.from(document.querySelectorAll('li'));

// 使用 ES6 的 `Array.of()` 方法创建一个包含指定元素的新数组
const arrayFromValues = Array.of(1, 2, 3, 4, 5);

// 使用 ES6 的 `find()` 方法返回数组中满足指定条件的第一个元素
const firstEvenNumber = numbers.find((number) => number % 2 === 0);

// 使用 ES6 的 `findIndex()` 方法返回数组中满足指定条件的第一个元素的索引
const firstEvenNumberIndex = numbers.findIndex((number) => number % 2 === 0);

// 使用 ES6 的 `includes()` 方法检查数组是否包含指定元素
const doesArrayIncludeTwo = numbers.includes(2);

结语:

数组方法在 JavaScript 中非常重要,掌握这些方法可以帮助您更有效地处理数组数据。本文介绍了从 ES6 到 ES13 的 JavaScript 数组方法的完整指南,包括最新的更新和示例。希望对您有所帮助。