モジュール 5 · レッスン 2 / 4コース内の 18/32~10 min
モジュールのレッスン (2/4)
…の、そして…の為に
JavaScript には 2 つの「人間工学に基づいた」ループがあり、混同しないでください。
for…ofは、反復可能なコレクション (配列、文字列、セット、マップなど) の 値 を反復します。for…inは、オブジェクトの列挙可能な キーを繰り返します。
これらは近い親戚であり、簡単に交換できます。間違った言語を使用することは、この言語で初めて起こることの 1 つです。 罠。
for…of 配列および文字列の場合
JS
const colori = ['rosso', 'verde', 'blu'];
for (const c of colori) {
console.log(c); // 'rosso', 'verde', 'blu'
}
for (const ch of 'abc') {
console.log(ch); // 'a', 'b', 'c'
}インデックスは提供されません。インデックスも必要な場合は、entries() を使用します。
JS
for (const [i, c] of colori.entries()) {
console.log(i, c); // 0 rosso, 1 verde, 2 blu
}オブジェクトの場合は for…in
JS
const utente = { nome: 'Anna', eta: 30, citta: 'Roma' };
for (const chiave in utente) {
console.log(chiave, utente[chiave]); // 'nome' 'Anna', ...
}混同してはいけない場合
JS
const colori = ['rosso', 'verde', 'blu'];
// SBAGLIATO: stampa gli indici come stringhe!
for (const x in colori) {
console.log(x); // '0', '1', '2'
}
// GIUSTO
for (const x of colori) {
console.log(x); // 'rosso', 'verde', 'blu'
}試してみてください
運動#js.m5.l2.e1
試行回数: 0読み込み中…
文字列のリストを指定すると、すべての文字列がスペースで区切られて連結された文字列を返す `concat(words)` を定義します。 …の用途に使用します。
エディターを読み込み中…
ヒントを表示
文字列に蓄積します。最初の単語ではない場合にのみスペースを追加します。
3 回の試行後に解決策が利用可能になります
復習演習
運動#js.m5.l2.e2
試行回数: 0読み込み中…
数値 > 0 であるオブジェクトの値を含む配列を返す `positiveValues(obj)` を定義します。for…in を使用します。順序はキーの反復順序と一致する必要があります。
エディターを読み込み中…
ヒントを表示
キーに対して for...in を使用してループし、typeof および > 0 でフィルターし、結果をプッシュします。
3 回の試行後に解決策が利用可能になります