"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Carte en JS

Carte en JS

Publié le 2024-11-02
Parcourir:683

Map in JS

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 ;

  1. Clés uniques : Chaque clé d'une carte est unique.
  2. Tout type de données pour les clés : Contrairement aux objets, les clés peuvent être de n'importe quel type de données, y compris des fonctions, des objets ou tout type primitif.
  3. Iterable : Vous pouvez parcourir les clés, les valeurs ou les entrées d'une Map.

Opérations de base

Créer une carte

let funnyMap = new Map();

Ajout d'éléments à une carte

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?');

Obtenir des valeurs à partir d'une carte

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?

Rechercher une clé

console.log(funnyMap.has('a')); // true
console.log(funnyMap.has(42)); // false

// Funny example
console.log(funnyMap.has('chicken')); // false (It crossed the road)

Supprimer un élément

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)

Obtenir la taille de la carte

console.log(funnyMap.size); // 3 after deletion

// Funny example
console.log(`The map has ${funnyMap.size} jokes left.`);

Effacer la carte

funnyMap.clear();
console.log(funnyMap.size); // 0

// Funny example
console.log(`All jokes are cleared from the map.`);

Itérer sur une carte

Utilisation 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}`);
}

Utilisation de forEach

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}`);
});

Utilisations pratiques

Comptage de mots (version drôle)

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`);
});

Résumé

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 de clé plus flexible qu'un objet ordinaire, comme compter les mots dans des blagues ou stocker les réponses à diverses énigmes.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/__khojiakbar__/map-in-js-59k6?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3