0

私はこのコードを持っています、

let array = ["cj1rdd9fc00013f69ccln57g0", "cj1rdda8x00023f69g9281ay8"];
for (let [key, value] of array) {
  console.log(key, value);
}
出力として 0 cj1rdd9fc00013f69ccln57g0 と 1 cj1rdda8x00023f69g9281ay8 が期待されます。ここで何が欠けていますか?どうすれば目的の出力を得ることができますか?

4

6 に答える 6

4

ここでは、ボンネットの下の説明を少し紹介します。

for..ofloop はiterablesで機能します。各反復でiterator.next().value、値を取得するために呼び出します。標準Array実装には、値のみを返すものとペアを返すものの2 種類の反復子があります。[key, value]2 番目のタイプの反復子を取得する必要がある場合は、 を使用しますarray.entries()

let array = ["cj1rdd9fc00013f69ccln57g0", "cj1rdda8x00023f69g9281ay8"];
for (let [key, value] of array.entries()) {
  console.log(key, value);
}

2 種類のイテレータのデモを次に示します。

var arr = ['a','b'];
var valueIterator = arr[Symbol.iterator]();
valueIterator.next().value; // returns a
valueIterator.next().value; // returns b

var arr = ['a','b'];
var valueKeyIterator = arr.entries();
valueKeyIterator.next().value; // returns [0, a]
valueKeyIterator.next().value; // returns [1, b]
于 2017-04-21T05:50:06.140 に答える
-1

派手な反復を使用して、すべての反復で配列の値とインデックスを取得したい場合は、これを試してください。

let array = ["cj1rdd9fc00013f69ccln57g0", "cj1rdda8x00023f69g9281ay8"];
array.map((value, index) => {
    console.log(index, key);
});
于 2017-04-21T05:36:52.510 に答える