TypedArray.prototype[Symbol.iterator]()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.

TypedArray 实例的 [Symbol.iterator]() 方法实现了可迭代协议以允许类型化数组被大多数期望可迭代对象的语法所使用,例如展开语法for...of 循环。它返回一个数组迭代器对象,它会以类型化数组中的每个索引的值生成数组。

尝试一下

语法

js
typedArray[Symbol.iterator]()

返回值

数组的 迭代器 函数,通常是 values()函数。

示例

使用for...of 循环的迭代

js
var arr = new Uint8Array([10, 20, 30, 40, 50]);
// 你的浏览器必须支持 for..of 循环
// 以及 for 循环中的 let 区域变量
for (let n of arr) {
  console.log(n);
}

备选迭代

js
var arr = new Uint8Array([10, 20, 30, 40, 50]);
var eArr = arr[Symbol.iterator]();
console.log(eArr.next().value); // 10
console.log(eArr.next().value); // 20
console.log(eArr.next().value); // 30
console.log(eArr.next().value); // 40
console.log(eArr.next().value); // 50

规范

Specification
ECMAScript Language Specification
# sec-%typedarray%.prototype-@@iterator

浏览器兼容性

BCD tables only load in the browser

参见