Kartta vs objekti JavaScriptissä

Kartta Vs Objekti Javascriptissa



' Kartta ' ja ' Esine ” ovat kaksi yleistä JavaScriptin tietorakennetta, joita käytetään avainarvo-parien tallentamiseen. Karttaa käytetään, kun tarvitset tietorakenteen, joka voi tallentaa minkä tahansa tietotyypin avaimeksi tai arvoksi ja tarvitset järjestetyn kokoelman avain-arvo-pareja. Vaikka objektia käytetään, kun tarvitset vain merkkijonoavaimia.

Tämä viesti selittää eron kartan ja objektin välillä JavaScriptissä.

Kuinka määritellä objekti JavaScriptissä?

JavaScriptissä objekti on kokoelma ominaisuuksia, joista jokaisella on avain-arvo-pari. ' avain ' on ' nimi ”, ja ” arvo ” on ”arvo” avainta vastaan. Objektit voivat edustaa todellisia esineitä, kuten autoa, henkilöä tai pankkitiliä. Ne voivat myös edustaa abstraktimpia objekteja, kuten matemaattista pistettä avaruudessa, väriä tai päivämäärää.







Syntaksi



Objekti voidaan luoda käyttämällä kirjaimellista objektimerkintää {} suluissa tai Object-konstruktorilla. Käytä alla olevaa syntaksia käyttämällä kirjaimellista merkintää tai sulkeita:



konst esine = {
avain : arvo,
avain : arvo
}

Objektin luominen Objektikonstruktorilla tai ' Uusi '-avainsana, käytä seuraavaa syntaksia:





konst esine = Uusi Esine ( ) ;

esine. avain = arvo ;

Huomautus: Muista, että objektin ominaisuuksien avainten tai nimien on oltava merkkijono.

Esimerkki 1: Luo objekti käyttämällä kirjaimellista merkintää JavaScriptissä

Seuraavassa esimerkissä luomme objektin nimeltä ' stdObject ' käyttäen kirjaimellista merkintää tai hakasulkeet:



var stdObject = {
nimi : 'John' ,
ikä : 18 ,
rollno : 25 ,
standardi : 9
}

Tulosta objekti konsoliin:

konsoli. Hirsi ( stdObject ) ;

Lähtö

Esimerkki 2: Luo objekti JavaScriptin Object Constructorilla

Täällä luomme objektin käyttämällä objektikonstruktoria käyttämällä ' Uusi 'avainsana:

konst stdObject = Uusi Esine ( ) ;

Lisää nyt objektien ominaisuudet (avainarvo) käyttämällä dot(.)-merkintää:

stdObject. nimi = 'vittuun' ;

stdObject. ikä = 19 ;

stdObject. rollno = viisitoista ;

stdObject. standardi = 10 ;

Näytä lopuksi objekti konsolissa käyttämällä ' console.log() 'menetelmä:

konsoli. Hirsi ( stdObject ) ;

Lähtö

Kuinka määritellä kartta JavaScriptissä?

JavaScriptissä ' Kartta ” on tietorakenne, joka sisältää objektin kaltaisia ​​avain-arvo-pareja. Sen avulla voit liittää tietoja avaimiin ja hakea tiedot myöhemmin käyttämällä avaimia. Karttoja voidaan käyttää toteuttamaan sanakirjoja, hash-taulukoita ja muita tietorakenteita, jotka yhdistävät avaimia arvoihin.

Syntaksi

Kartan alustamiseksi käytä seuraavaa syntaksia:

konst kartta = Uusi Kartta ( [

[ 'avain' , 'arvo' ] ,

[ 'avain' , 'arvo' ]

] ) ;

Voit myös luoda kartan käyttämällä karttakonstruktoria tai uutta operaattoria ja asettaa arvoja käyttämällä ' aseta() 'menetelmä:

konst kartta = Uusi Kartta ( ) ;

kartta. aseta ( 'avain' , 'arvo' ) ;

Esimerkki: Luo kartta JavaScriptillä

Annetussa esimerkissä luomme kartan käyttämällä molempia syntaksia.

Luo kartta alustusmenetelmällä. Tässä asetamme avaimet merkkijonoksi, kun taas voit asettaa avaimia kartassa minkä tahansa tyyppisenä:

konst mapStd = uusi kartta ( [
[ 'nimi' , 'John' ] ,
[ 'ikä' , 18 ] ,
[ 'rollno' , 25 ] ,
[ 'standardi' , 9 ] ,
] ) ;

Tai luo kartta soittamalla kartan rakentajalle tai uudelle avainsanalle/operaattorille:

konst mapStd = Uusi Kartta ( ) ;

Aseta arvot kartassa avain-arvo-pariksi käyttämällä ' aseta() 'menetelmä:

mapStd. aseta ( 'nimi' , 'John' ) ;

mapStd. aseta ( 'ikä' , 18 ) ;

mapStd. aseta ( 'rollno' , 25 ) ;

mapStd. aseta ( 'standardi' , 9 ) ;

Voit tulostaa kartan konsoliin käyttämällä ' merkinnät () ' menetelmällä ' for-of 'silmukka:

varten ( konst [ avain, arvo ] of mapStd. merkinnät ( ) ) {

konsoli. Hirsi ( `$ { avain } : $ { arvo } ` ) ;

}

Tai käyttääksesi minkä tahansa tietyn avaimen/omaisuuden arvoa, käytä ' saada() 'menetelmä:

konsoli. Hirsi ( 'The rollno of' + mapStd. saada ( 'nimi' ) + ' On ' + mapStd. saada ( 'rollno' ) ) ;

Tulos näyttää kaikki kartan ominaisuudet ja tietyn ominaisuuden arvon:

Kartta vs objekti JavaScriptissä

Ensisijainen ero kartan ja objektin välillä on seuraava:

Kartta Esine
Se otettiin käyttöön ECMAScript 6:ssa vuonna 2015. JavaScript esitteli Object-tietotyypin ensimmäisessä versiossaan (ECMAScript 1), joka julkaistiin vuonna 1997.
Kartta sallii minkä tahansa tietotyypin avaimet (esim. objektit, funktiot, numerot jne.). Objektiavainten on oltava merkkijonoja.
Kartan ominaisuuksia voidaan käyttää get()-menetelmällä. Objektin ominaisuuksiin pääsee käsiksi käyttämällä piste- tai hakasulkumerkintää.
Mapissa on sisäänrakennettu kokoominaisuus, joka palauttaa avainarvo-parien määrän Objektilla ei ole tätä ominaisuutta.
Kartta on iteroitavissa. Se mahdollistaa silmukan kaikkien avainarvoparien läpi käyttämällä joitain sisäänrakennettuja menetelmiä, kuten forEach(), keys(), value() ja entries(). Objekti ei ole iteroitavissa. Avainarvo-parien iterointiin tarvitaan 'for-in' -silmukoita tai Object.entries() -menetelmää.
Kartta on tilattu. Objekti on järjestämätön.

Kun työskentelet pienten tietojoukkojen kanssa, Mapsin ja objektien välinen suorituskyvyn ero on mitätön, mutta suurempia tietojoukkoja käsiteltäessä Maps voi olla nopeampi, koska ne on optimoitu suorituskyvylle.

Milloin kartta suosii objekteja JavaScriptissä?

Kun haluat tallentaa avain-arvo-pareja järjestetyssä muodossa tai arvo avaimena on mikä tahansa tietotyyppi, kuten numerot, objektit tai symbolit, käytä ' Kartta ' tietorakenne. Objekteja käytetään, kun sinun on käytettävä merkkijonoja avaimina ja kun et tarvitse mitään Mapsin ominaisuuksia. Suorituskykyero Mapsin ja objektien välillä on mitätön käytettäessä pieniä tietojoukkoja, mutta kun työskentelet suurempien tietojoukkojen kanssa, Maps voi olla nopeampi, koska ne on optimoitu suorituskykyä varten.

Johtopäätös

Karttaa ja objektia käytetään molempien tietojen tallentamiseen avain-arvo-pareina JavaScriptissä, mutta niillä on joitain eroja. Map on tehokkaampi ja joustavampi tietorakenne kuin Object, ja se on ensisijainen valinta, kun haluat tallentaa avain-arvo-pareja, jotka on järjestettävä, joilla on eri tietotyyppejä avaimia tai niillä on kokoominaisuus. Tämä viesti selitti eron kartan ja objektin välillä JavaScriptissä.