Uso básico de Map en JS

1. La API básica de Map

  • Crear: const mapa = nuevo Mapa()
  • Insertar: map.set("nombre", "Zheng Jian")
  • Leer: map.get("nombre")
  • Juicio: map.has("nombre")
  • borrar: mapa.borrar
  • Tamaño: mapa.tamaño
  • Recorrido: para de / para cada uno

dos, crea

 const map = new Map()

3. Insertar

const map = new Map()
map.set("name", "郑建")  // 字符串作为key

const functionKey = function() {}
map.set(functionKey, "函数做key")  // 函数做为key

const objKey = {}
map.set(objKey, "对象做key")  // 对象做为key


 resultado:

Cuatro, lee

map.get("name")  // "郑建"
map.get(functionKey)  // "函数做key"
map.get(objKey)  // "对象做key"

5. Juicio

map.has("name")

resultado:

 

Seis, tamaño

map.size

resultado:

 7. Eliminar

map.delete("name")

resultado:

Ocho, transversal

1, para de

for (const it of map) {
    console.log(it)
}

resultado:

 2, para cada uno

map.forEach((value, key) => {
    console.log(value, key)
})

resultado:

 Nueve, la elección entre Mapa y Objeto

Pregunta: Ahora que tenemos Objeto, ¿por qué necesitamos un Mapa? ¿Están enfermos?

Elija entre cuatro direcciones:

Uso de memoria: los diferentes navegadores tienen diferencias obvias, pero dado un tamaño fijo de memoria, Map puede almacenar un 50 % más de pares clave-valor que Object.

                    Cuando encuentre una gran cantidad de datos estructurados, elija Mapa

Rendimiento de inserción : el rendimiento del mapa es ligeramente mejor, especialmente cuandose trata de una gran cantidad de operaciones de inserción , especialmente al elegir Mapa

Rendimiento de búsqueda : el rendimiento es equivalente, pero en el caso de una pequeña cantidad de "pares clave/valor" , el motor del navegador tendráestrategias de optimización relacionadas para Object , así que elija Object .

Rendimiento de eliminación: el rendimiento del mapa tiene ventajas obvias, y el uso de eliminar para eliminar las propiedades del objeto solo se desvincula , la memoria no se libera, no es una eliminación real y destruirá las propiedades rápidas de la estructura lineal en el motor V8, reduciendo en gran medida rendimiento de acceso Elija Mapa sin lugar a dudas .

Supongo que te gusta

Origin blog.csdn.net/qq_52421092/article/details/130318874
Recomendado
Clasificación