Mapa vs objecte en JavaScript

Mapa Vs Objecte En Javascript



Mapa ' i ' Objecte ” són dues estructures de dades habituals en JavaScript que s'utilitzen per emmagatzemar parells clau-valor. Un mapa s'utilitza quan necessiteu una estructura de dades que pugui emmagatzemar qualsevol tipus de dades com a clau o valor i necessiteu una col·lecció ordenada de parells clau-valor. Mentre que Object s'utilitza quan només necessiteu emmagatzemar claus de cadena.

Aquesta publicació explicarà la diferència entre el mapa i l'objecte en JavaScript.

Com definir un objecte en JavaScript?

A JavaScript, un objecte és una col·lecció de propietats, cadascuna amb un parell clau-valor. El ' clau ' és el ' nom ”, i un “ valor ” és el “valor” contra la clau. Els objectes poden representar objectes del món real, com ara un cotxe, una persona o un compte bancari. També poden representar objectes més abstractes, com un punt matemàtic a l'espai, un color o una data.







Sintaxi



Un objecte es pot crear utilitzant la notació d'objecte literal {} claudàtors o el constructor Object. Utilitzant la notació literal o els claudàtors, utilitzeu la sintaxi següent:



const objecte = {
clau : valor,
clau : valor
}

Creació d'un objecte mitjançant el constructor Object o el ' nou ”, utilitzeu la sintaxi següent:





const objecte = nou Objecte ( ) ;

objecte. clau = valor ;

Nota: Tingueu en compte que les claus o els noms de les propietats de l'objecte han de ser una cadena.

Exemple 1: creeu un objecte utilitzant la notació literal en JavaScript

En l'exemple següent, crearem un objecte anomenat ' stdObject ” utilitzant notació literal o claudàtors:



var stdObject = {
nom : 'Joan' ,
edat : 18 ,
rollno : 25 ,
estàndard : 9
}

Imprimeix l'objecte a la consola:

consola. registre ( stdObject ) ;

Sortida

Exemple 2: creeu un objecte utilitzant el constructor d'objectes en JavaScript

Aquí, crearem un objecte utilitzant el constructor Objecte utilitzant el ' nou ” paraula clau:

const stdObject = nou Objecte ( ) ;

Ara, afegiu les propietats (clau-valor) dels objectes utilitzant la notació punt (.):

stdObject. nom = 'Jodan' ;

stdObject. edat = 19 ;

stdObject. rollno = 15 ;

stdObject. estàndard = 10 ;

Per últim, mostra l'objecte a la consola mitjançant el ' console.log() ” mètode:

consola. registre ( stdObject ) ;

Sortida

Com definir un mapa en JavaScript?

En JavaScript, un ' Mapa ” és una estructura de dades que conté parells clau-valor similars a un objecte. Us permet associar dades amb claus i recuperar-les més tard utilitzant les claus. Els mapes es poden utilitzar per implementar diccionaris, taules hash i altres estructures de dades que mapein claus amb valors.

Sintaxi

Per inicialitzar un mapa, utilitzeu la sintaxi següent:

const mapa = nou Mapa ( [

[ 'clau' , 'valor' ] ,

[ 'clau' , 'valor' ]

] ) ;

També podeu crear un mapa mitjançant el constructor de mapes o amb l'operador new, i establir valors utilitzant el ' conjunt() ” mètode:

const mapa = nou Mapa ( ) ;

mapa. conjunt ( 'clau' , 'valor' ) ;

Exemple: crear un mapa en JavaScript

En l'exemple donat, crearem un mapa utilitzant ambdues sintaxis.

Creeu un mapa amb el mètode d'inicialització. Aquí, establirem les claus com una cadena mentre que podeu configurar les claus en un mapa de qualsevol tipus:

const mapStd = nouMapa ( [
[ 'nom' , 'Joan' ] ,
[ 'edat' , 18 ] ,
[ 'rollno' , 25 ] ,
[ 'estàndard' , 9 ] ,
] ) ;

O creeu un mapa trucant al constructor de mapes o a la paraula clau/operador nou:

const mapStd = nou Mapa ( ) ;

Establiu valors al mapa en un parell clau-valor mitjançant el ' conjunt() ” mètode:

mapStd. conjunt ( 'nom' , 'Joan' ) ;

mapStd. conjunt ( 'edat' , 18 ) ;

mapStd. conjunt ( 'rollno' , 25 ) ;

mapStd. conjunt ( 'estàndard' , 9 ) ;

Per imprimir el mapa a la consola, utilitzeu el ' entrades () ' mètode amb el ' per-de 'bucle:

per ( const [ clau, valor ] de mapStd. entrades ( ) ) {

consola. registre ( `$ { clau } : $ { valor } ` ) ;

}

O per accedir al valor de qualsevol clau/propietat específica, utilitzeu el ' aconseguir() ” mètode:

consola. registre ( 'El rollno de' + mapStd. aconseguir ( 'nom' ) + ' és ' + mapStd. aconseguir ( 'rollno' ) ) ;

La sortida indica totes les propietats del mapa i el valor de la propietat específica:

Mapa vs objecte en JavaScript

La diferència principal entre el mapa i l'objecte és la següent:

Mapa Objecte
Es va introduir a ECMAScript 6 el 2015. JavaScript va introduir el tipus de dades Object en la seva primera versió (ECMAScript 1) publicada el 1997.
Map permet claus de qualsevol tipus de dades (per exemple, objectes, funcions, números, etc.). Les claus dels objectes han de ser cadenes.
Es pot accedir a les propietats d'un mapa utilitzant el mètode get(). Es pot accedir a les propietats de l'objecte utilitzant la notació de punts o la notació de claudàtors.
El mapa té una propietat de mida integrada per retornar el nombre de parells clau-valor L'objecte no té aquesta característica.
El mapa és iterable. Permet recórrer tots els parells clau-valor utilitzant alguns mètodes integrats com forEach(), keys(), values() i entries(). L'objecte no és iterable. Cal utilitzar bucles 'for-in' o el mètode Object.entries() per iterar parells clau-valor.
El mapa està ordenat. L'objecte no està ordenat.

Quan es treballa amb conjunts de dades petits, la diferència de rendiment entre els mapes i els objectes és insignificant, però quan es treballa amb conjunts de dades més grans, els mapes poden ser més ràpids ja que estan optimitzats per al rendiment.

Quan prefereix el mapa sobre els objectes en JavaScript?

Quan necessiteu emmagatzemar parells clau-valor en una forma ordenada o el valor com a clau sigui qualsevol tipus de dades, com ara números, objectes o símbols, utilitzeu el ' Mapa 'estructura de dades. Els objectes s'utilitzaran quan necessiteu utilitzar cadenes com a claus i quan no necessiteu cap de les funcions de Maps. La diferència de rendiment entre Maps i objectes és insignificant quan es treballa amb conjunts de dades petits, però quan es treballa amb conjunts de dades més grans, Maps pot ser més ràpid ja que s'optimitzen per al rendiment.

Conclusió

El mapa i l'objecte s'utilitzen per emmagatzemar dades com a parells clau-valor a JavaScript, però tenen algunes diferències. Map és una estructura de dades més potent i flexible que Object, i és l'opció preferida quan necessiteu emmagatzemar parells clau-valor que cal ordenar, tenir claus de diferents tipus de dades o tenir una propietat de mida. Aquesta publicació va explicar la diferència entre el mapa i l'objecte en JavaScript.