JavaScript Iterator 迭代器参考
迭代器对象
迭代器(Iterator)是一个对象,它提供了一种按顺序访问元素的标准方法。
迭代器必须遵循迭代器协议(Iterator Protocol),并且必须具有 next() 方法。
Iterator.from() 方法
Iterator.from() 从现有的可迭代对象或迭代器对象创建一个迭代器对象。
示例
// 创建一个迭代器
const myIterator = Iterator.from("123456789");
// 遍历所有元素
let text = "";
for (const x of myIterator) {
text += x;
}亲自试一试 »注意
严格来说,可迭代对象必须实现 `Symbol.iterator` 方法。
在 JavaScript 中,以下是可迭代对象:
- 字符串
- 数组
- 类型化数组
- 集合
- 映射
因为它们的原型对象有一个 Symbol.iterator 方法:
辅助函数
JavaScript 2025 (ECMAScript 2025) 正式批准了一组新的迭代器辅助方法,显著增强了 JavaScript 中迭代器的功能:
| 函数 | 描述 |
|---|---|
| drop() | 返回一个跳过指定数量元素的新迭代器 |
| every() | 如果所有元素都满足提供的测试函数,则返回 true |
| filter() | 返回一个包含满足筛选函数的元素的迭代器 |
| find() | 返回第一个满足测试函数的元素 |
| flatMap() | 通过映射每个元素并将结果扁平化来返回一个迭代器 |
| forEach() | 对迭代器中的每个元素执行一次函数。 |
| map() | 返回一个迭代器,其中包含所有经过 map 函数转换的元素 |
| reduce() | 对每个元素应用 reducer 函数,将其简化为单个值 |
| some() | 如果至少有一个元素满足测试函数,则返回 true |
| take() | 返回一个迭代器,该迭代器产生指定数量的元素 |
