"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Mapa em JS

Mapa em JS

Publicado em 2024-11-02
Navegar:564

Map in JS

Um mapa em JavaScript é uma coleção de pares de valores-chave onde as chaves podem ser de qualquer tipo. Ele mantém a ordem de inserção, o que significa que os itens são iterados na ordem em que foram adicionados.

Principais características de um mapa;

  1. Chaves exclusivas: Cada chave em um mapa é única.
  2. Qualquer tipo de dados para chaves: Ao contrário dos objetos, as chaves podem ser de qualquer tipo de dados, incluindo funções, objetos ou qualquer tipo primitivo.
  3. Iterável: Você pode iterar sobre as chaves, valores ou entradas de um Mapa.

Operações Básicas

Criando um mapa

let funnyMap = new Map();

Adicionando Elementos a um Mapa

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

Obtendo valores de um mapa

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?

Verificando uma chave

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

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

Removendo um Elemento

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)

Obtendo o tamanho do mapa

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

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

Limpando o mapa

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

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

Iterando em um mapa

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

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

Usos práticos

Contagem de palavras (versão engraçada)

Imagine que você deseja contar quantas vezes certas palavras aparecem em uma coleção de piadas:

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

Resumo

Um mapa em JavaScript é uma estrutura de dados versátil que pode conter pares de valores-chave de qualquer tipo de dados, fornece métodos de iteração fáceis e mantém a ordem dos elementos. É útil para cenários em que você precisa de um gerenciamento de chaves mais flexível do que um objeto normal, como contar palavras em piadas ou armazenar respostas a vários enigmas.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/__khojiakbar__/map-in-js-59k6?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3