--- title: 'Array.prototype[@@iterator]()' slug: Web/JavaScript/Reference/Global_Objects/Array/@@iterator tags: - Array - ECMAScript 2015 - Iterator - JavaScript - Method - Prototype - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Array/@@iterator ---
{{JSRef}}

@@iterator 屬性的初始值與 {{jsxref("Array.prototype.values()", "values()")}} 屬性的初始值為相同的的函式物件。

語法

arr[Symbol.iterator]()

回傳值

陣列的迭代器(iterator)函式,預設與 {{jsxref("Array.prototype.values()", "values()")}} 函式相同。

範例

使用 for...of 迴圈進行迭代

var arr = ['w', 'y', 'k', 'o', 'p'];
var eArr = arr[Symbol.iterator]();
// your browser must support for..of loop
// and let-scoped variables in for loops
for (let letter of eArr) {
  console.log(letter);
}

另一種迭代方式

var arr = ['w', 'y', 'k', 'o', 'p'];
var eArr = arr[Symbol.iterator]();
console.log(eArr.next().value); // w
console.log(eArr.next().value); // y
console.log(eArr.next().value); // k
console.log(eArr.next().value); // o
console.log(eArr.next().value); // p

規範

Specification Status Comment
{{SpecName('ES2015', '#sec-array.prototype-@@iterator', 'Array.prototype[@@iterator]()')}} {{Spec2('ES2015')}} Initial definition.
{{SpecName('ESDraft', '#sec-array.prototype-@@iterator', 'Array.prototype[@@iterator]()')}} {{Spec2('ESDraft')}}  

瀏覽器相容性

{{Compat("javascript.builtins.Array.@@iterator")}}

參見