JavaScript のマップは、キーが任意の型であるキーと値のペアのコレクションです。挿入順序が保持されます。つまり、項目は追加された順序で反復されます。
マップの主な特徴;
let funnyMap = new Map();
funnyMap.set('a', 1); // string key funnyMap.set(2, 'two'); // number key funnyMap.set(true, 'yes'); // boolean key funnyMap.set({name: 'obj'}, 'object'); // object key // Funny example funnyMap.set('knock-knock', 'who’s there?');
console.log(funnyMap.get('a')); // 1 console.log(funnyMap.get(2)); // two console.log(funnyMap.get(true)); // yes // Funny example console.log(funnyMap.get('knock-knock')); // who’s there?
console.log(funnyMap.has('a')); // true console.log(funnyMap.has(42)); // false // Funny example console.log(funnyMap.has('chicken')); // false (It crossed the road)
funnyMap.delete('a'); console.log(funnyMap.has('a')); // false // Funny example funnyMap.delete('knock-knock'); console.log(funnyMap.get('knock-knock')); // undefined (No one answered)
console.log(funnyMap.size); // 3 after deletion // Funny example console.log(`The map has ${funnyMap.size} jokes left.`);
funnyMap.clear(); console.log(funnyMap.size); // 0 // Funny example console.log(`All jokes are cleared from the map.`);
...の
に使用しています
funnyMap.set('banana', 'yellow'); funnyMap.set('apple', 'red'); funnyMap.set('grape', 'purple'); // Iterating over keys for (let key of funnyMap.keys()) { console.log(`Key: ${key}`); } // Iterating over values for (let value of funnyMap.values()) { console.log(`Value: ${value}`); } // Iterating over entries for (let [key, value] of funnyMap.entries()) { console.log(`Key: ${key}, Value: ${value}`); } // Funny example funnyMap.set('dad joke', 'What do you call fake spaghetti? An impasta!'); for (let [key, value] of funnyMap.entries()) { console.log(`Here’s a ${key}: ${value}`); }
funnyMap.forEach((value, key) => { console.log(`Key: ${key}, Value: ${value}`); }); // Funny example funnyMap.set('bad pun', 'I’m reading a book on anti-gravity. It’s impossible to put down!'); funnyMap.forEach((value, key) => { console.log(`Here’s a ${key}: ${value}`); });
ジョーク コレクションに特定の単語が何回出現するかを数えたいと想像してください:
let jokeText = "Why did the scarecrow win an award? Because he was outstanding in his field!"; // Splitting text into words let words = jokeText.split(/\W /); let wordCount = new Map(); words.forEach(word => { word = word.toLowerCase(); if (wordCount.has(word)) { wordCount.set(word, wordCount.get(word) 1); } else { wordCount.set(word, 1); } }); wordCount.forEach((count, word) => { console.log(`Word: ${word}, Count: ${count}`); }); // Funny example console.log('Word counts in our joke:'); wordCount.forEach((count, word) => { console.log(`"${word}": ${count} times`); });
JavaScript のマップは、あらゆるデータ型のキーと値のペアを保持でき、簡単な反復メソッドを提供し、要素の順序を維持できる多用途のデータ構造です。これは、ジョークの単語を数えたり、さまざまななぞなぞに対する回答を保存したりするなど、通常のオブジェクトよりも柔軟なキー管理が必要なシナリオに役立ちます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3