下記コードにおいて、なぜ出力結果は [0, a]のみですか?
'use strict'; { const array = ['a', 'b', 'c']; const iterator = array.entries(); console.log(iterator.next().value); }
// (2) [0, "a"]
何が表示されると思いましたか?
ありがとうございました。MDNを見ながら勉強しているところなので、正直何が表示されるかは予想できなかったです。
また、next()の部分が特に理解できないですね、同じconsoleを書くと次は[1, b]が表示されるのも不思議に思いました。
よろしくお願いいたします。
ここで [0, "a"]や [1, b]は元の配列の添え字と内容のペアです。
インデクスと値がペアになって表示されるのはわかりますが、なぜ一つ[0,a]だけが表示されますか?
インデクス(0)を指定もしてないにも関わらず。
よろしくお願いいたします。
それこそが、Iterator の目的なのです。Wikipedia ですが、次のリンクで説明を見てみてください。
https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%86%E3%83%AC%E3%83%BC%E3%82%BF
> イテレータ(英語: iterator)とは、プログラミング言語において配列やそれに類似する集合的データ構造(コレクションあるいはコンテナ)の各要素に対する繰り返し処理の抽象化である。
nextが、日本語で"次"という意味なのはご存じですよね。
aさん、bさん、cさんが、この順番で行列に並んでいて、"次の人"と呼ばれたとしたら、誰の事だと思いますか?
aさんですよね。
とても分かりやすい説明だと思います。そのまま、回答にしても良さそうです。
回答2件
あなたの回答
tips
プレビュー