Une carte en JavaScript est une collection de paires clé-valeur où les clés peuvent être de n'importe quel type. Il conserve l'ordre d'insertion, ce qui signifie que les éléments sont itérés dans l'ordre dans lequel ils ont été ajoutés.
Caractéristiques clés d'une carte ;
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.`);
Utiliser pour...de
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}`); });
Imaginez que vous vouliez compter combien de fois certains mots apparaissent dans une collection de blagues :
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`); });
Une carte en JavaScript est une structure de données polyvalente qui peut contenir des paires clé-valeur de n'importe quel type de données, fournit des méthodes d'itération simples et maintient l'ordre des éléments. C'est utile pour les scénarios où vous avez besoin d'une gestion des clés plus flexible qu'un objet ordinaire, comme compter les mots dans des blagues ou stocker les réponses à diverses énigmes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!