TypedArray 实例的 [Symbol.iterator]() 方法实现了可迭代协议以允许类型化数组被大多数期望可迭代对象的语法所使用,例如展开语法和 {{jsxref("Statements/for...of", "for...of")}} 循环。它返回一个数组迭代器对象,它会以类型化数组中的每个索引的值生成数组。
{{InteractiveExample("JavaScript Demo: TypedArray.prototypeSymbol.iterator")}}
```js interactive-example const uint8 = new Uint8Array([10, 20, 30]); const iterator1 = uint8Symbol.iterator;
for (const value of iterator1) { console.log(value); }
// Expected output: 10 // Expected output: 20 // Expected output: 30
## 语法
```js-nolint
typedArray[Symbol.iterator]()
返回值
数组的 迭代器 函数,通常是 {{jsxref("TypedArray.prototype.values()", "values()")}}函数。
示例
使用for...of 循环的迭代
var arr = new Uint8Array([10, 20, 30, 40, 50]);
// 你的浏览器必须支持 for..of 循环
// 以及 for 循环中的 let 区域变量
for (let n of arr) {
console.log(n);
}
备选迭代
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