Мапа против објекта у ЈаваСцрипт-у

Mapa Protiv Objekta U Javascript U



Мапа ' и ' Објекат ” су две уобичајене структуре података у ЈаваСцрипт-у које се користе за чување парова кључ-вредност. Мапа се користи када вам је потребна структура података која може да складишти било који тип података као кључ или вредност и потребна вам је уређена колекција парова кључ-вредност. Док се Објецт користи када треба само да сачувате стринг кључеве.

Овај пост ће објаснити разлику између мапе и објекта у ЈаваСцрипт-у.

Како дефинисати објекат у ЈаваСцрипт-у?

У ЈаваСцрипт-у, објекат је колекција својстава, од којих свако има пар кључ-вредност. „ кључ ' је ' име ”, и „ вредност ” је „вредност” у односу на кључ. Објекти могу представљати објекте из стварног света, као што су аутомобил, особа или банковни рачун. Они такође могу представљати апстрактније објекте, попут математичке тачке у простору, боје или датума.







Синтакса



Објекат се може креирати коришћењем литералне нотације објекта {} заграде или конструктора објеката. Користећи дословну нотацију или заграде, користите синтаксу испод:



конст објекат = {
кључ : вредност,
кључ : вредност
}

Креирање објекта помоћу конструктора објеката или „ Нова ” кључну реч, користите следећу синтаксу:





конст објекат = Нова Објекат ( ) ;

објекат. кључ = вредност ;

Белешка: Имајте на уму да кључеви или имена својстава објекта морају бити стринг.

Пример 1: Креирајте објекат користећи литералну нотацију у ЈаваСцрипт-у

У следећем примеру, креираћемо објекат под називом „ стдОбјецт ” користећи дословну нотацију или заграде:



вар стдОбјецт = {
име : 'Јован' ,
старости : 18 ,
роллно : 25 ,
стандардне : 9
}

Одштампајте објекат на конзоли:

конзола. Пријава ( стдОбјецт ) ;

Излаз

Пример 2: Креирајте објекат користећи конструктор објеката у ЈаваСцрипт-у

Овде ћемо креирати објекат користећи конструктор објеката користећи „ Нова ” кључна реч:

конст стдОбјецт = Нова Објекат ( ) ;

Сада додајте својства (кључ-вредност) објеката користећи ознаку тачка(.):

стдОбјецт. име = 'јебати' ;

стдОбјецт. старости = 19 ;

стдОбјецт. роллно = петнаест ;

стдОбјецт. стандардне = 10 ;

На крају, прикажите објекат на конзоли користећи „ цонсоле.лог() ” метод:

конзола. Пријава ( стдОбјецт ) ;

Излаз

Како дефинисати мапу у ЈаваСцрипт-у?

У ЈаваСцрипт-у, „ Мапа ” је структура података која садржи парове кључ-вредност сличне објекту. Омогућава вам да повежете податке са кључевима и касније их преузмете помоћу кључева. Мапе се могу користити за имплементацију речника, хеш табела и других структура података које мапирају кључеве у вредности.

Синтакса

Да бисте иницијализовали мапу, користите следећу синтаксу:

конст Мапа = Нова Мапа ( [

[ 'кључ' , 'вредност' ] ,

[ 'кључ' , 'вредност' ]

] ) ;

Такође можете креирати мапу користећи конструктор мапе или користећи нев оператор, и поставити вредности користећи „ комплет() ” метод:

конст Мапа = Нова Мапа ( ) ;

Мапа. комплет ( 'кључ' , 'вредност' ) ;

Пример: Направите мапу у ЈаваСцрипт-у

У датом примеру ћемо креирати мапу користећи обе синтаксе.

Креирајте мапу користећи метод иницијализације. Овде ћемо поставити кључеве као стринг док ви можете поставити кључеве на мапи било које врсте:

конст мапСтд = невМап ( [
[ 'име' , 'Јован' ] ,
[ 'старост' , 18 ] ,
[ 'роллно' , 25 ] ,
[ 'стандард' , 9 ] ,
] ) ;

Или креирајте мапу тако што ћете позвати конструктор мапе или нову кључну реч/оператор:

конст мапСтд = Нова Мапа ( ) ;

Подесите вредности у мапи у пару кључ/вредност користећи „ комплет() ” метод:

мапСтд. комплет ( 'име' , 'Јован' ) ;

мапСтд. комплет ( 'старост' , 18 ) ;

мапСтд. комплет ( 'роллно' , 25 ) ;

мапСтд. комплет ( 'стандард' , 9 ) ;

Да бисте одштампали мапу на конзоли, користите „ уноси() ” метод са „ за-оф ” петља:

за ( конст [ кључ, вредност ] оф мапСтд. уносе ( ) ) {

конзола. Пријава ( `$ { кључ } : $ { вредност } ` ) ;

}

Или за приступ вредности било ког специфичног кључа/својства, користите „ добити() ” метод:

конзола. Пријава ( 'Роллно оф' + мапСтд. добити ( 'име' ) + 'је' + мапСтд. добити ( 'роллно' ) ) ;

Излаз показује сва својства мапе и вредност одређене особине:

Мапа против објекта у ЈаваСцрипт-у

Основна разлика између мапе и објекта је следећа:

Мапа Објекат
Уведен је у ЕЦМАСцрипт 6 2015. године. ЈаваСцрипт је представио тип података Објецт у својој првој верзији (ЕЦМАСцрипт 1) објављеној 1997. године.
Мапа дозвољава кључеве било ког типа података (нпр. објекти, функције, бројеви, итд.). Кључеви објеката морају бити низови.
Својствима мапе може се приступити коришћењем методе гет(). Својствима објекта може се приступити коришћењем нотације тачке или угласте заграде.
Мапа има уграђено својство величине за враћање броја парова кључ/вредност Објекат нема ову функцију.
Мапа се може понављати. Омогућава петљу кроз све парове кључ-вредност користећи неке уграђене методе као што су форЕацх(), кеис(), валуес() и ентриес(). Објекат се не понавља. Постоји потреба да се користе „фор-ин“ петље или Објецт.ентриес() метод за понављање парова кључ-вредност.
Мапа је наручена. Објекат је неуређен.

Када радите са малим скуповима података, разлика у перформансама између Мапа и објеката је занемарљива, али када радите са већим скуповима података, Мапе могу бити брже јер су оптимизоване за перформансе.

Када мапа даје предност објектима у ЈаваСцрипт-у?

Када треба да ускладиштите парове кључ-вредност у уређеном облику или да вредност као кључ буде било који тип података, као што су бројеви, објекти или симболи, користите „ Мапа ' структура података. Објекти ће се користити када треба да користите низове као кључеве и када вам није потребна ниједна од функција Мапа. Разлика у перформансама између Мапа и објеката је занемарљива док радите са малим скуповима података, али када радите са већим скуповима података, Мапе могу бити брже јер су оптимизоване за перформансе.

Закључак

Мапа и објекат се користе за складиштење података као парова кључ-вредност у ЈаваСцрипт-у, али имају неке разлике. Мапа је моћнија и флексибилнија структура података од објекта и преферирани је избор када треба да ускладиштите парове кључ-вредност који треба да буду поређани, имају кључеве различитих типова података или имају својство величине. Овај пост је објаснио разлику између мапе и објекта у ЈаваСцрипт-у.