"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Mapa en JS

Mapa en JS

Publicado el 2024-11-02
Navegar:860

Map in JS

Un mapa en JavaScript es una colección de pares clave-valor donde las claves pueden ser de cualquier tipo. Conserva el orden de inserción, lo que significa que los elementos se repiten en el orden en que se agregaron.

Características clave de un mapa;

  1. Claves únicas: Cada clave en un mapa es única.
  2. Cualquier tipo de datos para claves: A diferencia de los objetos, las claves pueden ser de cualquier tipo de datos, incluidas funciones, objetos o cualquier tipo primitivo.
  3. Iterable: Puede iterar sobre las claves, valores o entradas de un Mapa.

Operaciones básicas

Creando un mapa

let funnyMap = new Map();

Agregar elementos a un 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?');

Obtener valores de un 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?

Buscando una clave

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

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

Eliminar un 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)

Obtener el tamaño del mapa

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

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

Limpiar el mapa

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

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

Iterando sobre un 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 para cada uno

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ácticos

Conteo de palabras (versión divertida)

Imagina que quieres contar cuántas veces aparecen determinadas palabras en una colección de chistes:

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

Resumen

Un mapa en JavaScript es una estructura de datos versátil que puede contener pares clave-valor de cualquier tipo de datos, proporciona métodos de iteración sencillos y mantiene el orden de los elementos. Es útil para escenarios en los que necesitas una administración de claves más flexible que un objeto normal, como contar palabras en chistes o almacenar respuestas a varios acertijos.

Declaración de liberación Este artículo se reproduce en: https://dev.to/__khojiakbar__/map-in-js-59k6?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3