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
循环。它返回一个数组迭代器对象,它会以类型化数组中的每个索引的值生成数组。
尝试一下
const uint8 = new Uint8Array([10, 20, 30]);
const iterator1 = uint8[Symbol.iterator]();
for (const value of iterator1) {
console.log(value);
}
// Expected output: 10
// Expected output: 20
// Expected output: 30
语法
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® 2025 Language Specification # sec-%typedarray%.prototype-%symbol.iterator% |
浏览器兼容性
BCD tables only load in the browser