Estaba buscando un mapa ordenado en javascript y encontré la implementación de collections.js: SortedMap . También veo que tienen algo llamado SortedArrayMap .
En la descripción de SortedArrayMap dice:
Un mapa de pares de valores clave, ordenados por clave, respaldado por una matriz .
( Fuente )
Y en la descripción de SortedMap dice:
Un mapa con entradas ordenadas por clave.
¿Qué significa exactamente respaldado por una matriz ? y ¿cuál es la diferencia entre él y el SortedMap normal?
A primera vista, SortedArrayMap utiliza una estrategia de búsqueda binaria para mantener el orden de las entradas y está respaldado por una matriz, lo que significa que utiliza una matriz como estructura de datos básica (para mantener los datos clave). Eso significa que, al final, usa un mapa basado en la clase SortedArray .
Sin embargo, SortedMap es una colección general de key/value , donde puede acceder a los valores con su clave relativa (acceso rápido en lugar de un orden de matriz).
De todos modos, si quieres profundizar un poco más en este tema, puedes encontrar una muy buena explicación en el es el sitio web oficial de collections.js ,
Como se indica en http://www.collectionsjs.com/map , los mapas son diferentes ya que funcionan como diccionarios pero aceptan incluso objetos como clave.
Leyendo la documentación de Dict en http://www.collectionsjs.com/dict entendemos que:
Un diccionario es un mapa especializado. Se requiere que las claves sean cadenas.
Una matriz es simplemente una estructura de datos donde puede insertar cualquier cosa usando un simple push(thingToInsert) . Los elementos insertados en una matriz son solo valores sin una clave para señalarlos.