Карта срещу обект в JavaScript

Karta Sresu Obekt V Javascript



Карта ' и ' Обект ” са две общи структури от данни в JavaScript, използвани за съхраняване на двойки ключ-стойност. Карта се използва, когато имате нужда от структура от данни, която може да съхранява всеки тип данни като ключ или стойност и се нуждаете от подредена колекция от двойки ключ-стойност. Докато Object се използва, когато трябва само да съхранявате ключове за низове.

Тази публикация ще обясни разликата между Map и Object в JavaScript.

Как да дефинирам обект в JavaScript?

В JavaScript обектът е колекция от свойства, всяко с двойка ключ-стойност. „ ключ ” е „ име “, и „ стойност ” е „стойността” спрямо ключа. Обектите могат да представляват обекти от реалния свят, като кола, човек или банкова сметка. Те могат също да представляват по-абстрактни обекти, като математическа точка в пространството, цвят или дата.







Синтаксис



Обект може да бъде създаден с помощта на буквална нотация на обекта {} скоби или конструктора на обекта. Използвайки буквалната нотация или скоби, използвайте синтаксиса по-долу:



конст обект = {
ключ : стойност,
ключ : стойност
}

Създаване на обект с помощта на конструктора на обект или „ нов ”, използвайте следния синтаксис:





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

обект. ключ = стойност ;

Забележка: Имайте предвид, че ключовете или имената на свойствата на обекта трябва да са низ.

Пример 1: Създаване на обект с помощта на буквална нотация в JavaScript

В следващия пример ще създадем обект, наречен „ stdObject ” използвайки буквална нотация или скоби:



var stdObject = {
име : 'Джон' ,
възраст : 18 ,
ролно : 25 ,
стандартен : 9
}

Отпечатайте обекта на конзолата:

конзола. дневник ( stdObject ) ;

Изход

Пример 2: Създаване на обект с помощта на конструктор на обекти в JavaScript

Тук ще създадем обект с помощта на конструктора на обект, използвайки „ нов ” ключова дума:

конст stdObject = нов Обект ( ) ;

Сега добавете свойствата (ключ-стойност) на обекти, като използвате нотацията точка(.):

stdObject. име = 'майната му' ;

stdObject. възраст = 19 ;

stdObject. ролно = петнадесет ;

stdObject. стандартен = 10 ;

И накрая, покажете обекта на конзолата, като използвате „ console.log() ” метод:

конзола. дневник ( stdObject ) ;

Изход

Как да дефинирам карта в JavaScript?

В JavaScript, „ Карта ” е структура от данни, която съдържа двойки ключ-стойност, подобни на обект. Тя ви позволява да свързвате данни с ключове и да извличате данните по-късно с помощта на ключовете. Картите могат да се използват за внедряване на речници, хеш-таблици и други структури от данни, които картографират ключове към стойности.

Синтаксис

За да инициализирате карта, използвайте следния синтаксис:

конст карта = нов Карта ( [

[ 'ключ' , 'стойност' ] ,

[ 'ключ' , 'стойност' ]

] ) ;

Можете също да създадете карта с помощта на конструктора на карта или с помощта на оператора new и да зададете стойности, като използвате „ комплект() ” метод:

конст карта = нов Карта ( ) ;

карта. комплект ( 'ключ' , 'стойност' ) ;

Пример: Създайте карта в JavaScript

В дадения пример ще създадем карта, използвайки и двата синтаксиса.

Създайте карта, като използвате метода за инициализация. Тук ще зададем ключове като низ, докато вие можете да зададете ключове в карта във всеки тип:

конст mapStd = нова карта ( [
[ име , 'Джон' ] ,
[ 'възраст' , 18 ] ,
[ 'rollno' , 25 ] ,
[ 'стандартен' , 9 ] ,
] ) ;

Или създайте карта, като извикате конструктора на карта или новата ключова дума/оператор:

конст mapStd = нов Карта ( ) ;

Задайте стойности в Map в двойка ключ-стойност, като използвате „ комплект() ” метод:

mapStd. комплект ( име , 'Джон' ) ;

mapStd. комплект ( 'възраст' , 18 ) ;

mapStd. комплект ( 'rollno' , 25 ) ;

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

За да отпечатате картата на конзолата, използвайте „ записи () ' метод с ' за-на ” цикъл:

за ( конст [ ключ, стойност ] на mapStd. записи ( ) ) {

конзола. дневник ( `$ { ключ } : $ { стойност } ` ) ;

}

Или за достъп до стойността на всеки конкретен ключ/свойство, използвайте „ получи() ” метод:

конзола. дневник ( 'Ролното на' + mapStd. получавам ( име ) + 'е' + mapStd. получавам ( 'rollno' ) ) ;

Изходът показва всички свойства на картата и стойността на конкретното свойство:

Карта срещу обект в JavaScript

Основната разлика между картата и обекта е следната:

Карта Обект
Той беше въведен в ECMAScript 6 през 2015 г. JavaScript въведе типа данни Object в първата си версия (ECMAScript 1), издадена през 1997 г.
Картата позволява ключове от всякакъв тип данни (напр. обекти, функции, числа и т.н.). Ключовете на обекта трябва да са низове.
Свойствата на карта могат да бъдат достъпни с помощта на метода get(). Свойствата на обекта могат да бъдат достъпни чрез нотация с точка или нотация с квадратни скоби.
Map има вградено свойство size за връщане на броя двойки ключ-стойност Обектът няма тази функция.
Картата може да се повтаря. Позволява преминаване през всички двойки ключ-стойност с помощта на някои вградени методи като forEach(), keys(), values() и entries(). Обектът не може да се повтаря. Има нужда да се използват цикли „for-in“ или метод Object.entries() за повторение на двойки ключ-стойност.
Картата е поръчана. Обектът не е подреден.

Когато работите с малки набори от данни, разликата в производителността между Карти и обекти е незначителна, но когато работите с по-големи набори от данни, Картите могат да бъдат по-бързи, тъй като са оптимизирани за производителност.

Кога картата предпочита пред обектите в JavaScript?

Когато трябва да съхранявате двойки ключ-стойност в подредена форма или стойността като ключ да бъде произволен тип данни, като числа, обекти или символи, използвайте „ Карта ' структура на данни. Обектите ще се използват, когато трябва да използвате низове като ключове и когато не се нуждаете от функциите на Карти. Разликата в производителността между Карти и обекти е незначителна при работа с малки набори от данни, но когато работите с по-големи набори от данни, Картите могат да бъдат по-бързи, тъй като са оптимизирани за производителност.

Заключение

Map и Object се използват за съхраняване на данни като двойки ключ-стойност в JavaScript, но имат някои разлики. Map е по-мощна и гъвкава структура от данни от Object и е предпочитаният избор, когато трябва да съхранявате двойки ключ-стойност, които трябва да бъдат подредени, да имате ключове от различни типове данни или да имате свойство за размер. Тази публикация обяснява разликата между Map и Object в JavaScript.