javascript Symbol.iteratorを使用して反復可能なオブジェクトや配列を取得する
- 作成日 2020.09.28
- 更新日 2022.06.30
- javascript
- javascript
javascriptで、Symbol.iteratorを使用して反復可能なオブジェクトを取得するサンプルコードを記述してます。
環境
- OS windows10 pro 64bit
- Apache 2.4.43
- ブラウザ chrome 102.0.5005.115
Symbol.iteratorの使い方
Symbol.iteratorを使用すると、反復可能である配列の値を取得することが可能です。
const array = ['a', 'b', 'c'];
const i = array[Symbol.iterator]();
console.log(i.next().value); // a
console.log(i.next().value); // b
console.log(i.next().value); // c
「.value」を除くと、doneが表示され、これは処理が終了しているかどうかの結果となります。
const array = ['a', 'b', 'c'];
const i = array[Symbol.iterator]();
console.log(i.next());
console.log(i.next());
console.log(i.next());
console.log(i.next());
実行結果
反復可能なオブジェクトも、作成することが可能です。
// オブジェクト
const obj = {
[Symbol.iterator]() {
let n = 5;
let i = 0;
const iterator = {
next() {
return { value: i++, done: i > n };
},
};
return iterator;
},
};
// 結果を確認
for (let item of obj) {
console.log(item);
}
実行結果
-
前の記事
javascript setの使い方 2020.09.28
-
次の記事
javascript 使用しているクラス一覧を取得する 2020.09.29
コメントを書く