Увод:
ЈаваСцрипт објекти се састоје од својстава која су праведна кључ/вредност парова. У суштини, својства се састоје од пара кључева и вредности који могу представљати било коју врсту ентитета. Чак и функције имају способност да функционишу као вредност или кључ у било ком објекту. У сваком случају, у овом одељку ћемо говорити о томе како да избришете кључеве из Објецт ЈаваСцрипт-а.
линук маке команду
Придружена вредност кључа се аутоматски брише када се кључ уклони. Дакле, елиминисање кључа само подразумева елиминисање тог атрибута. Сада постоје три начина у ЈаваСцрипт-у за уклањање кључева из објеката. Хајде да брзо погледамо сваки од њих.
Ако је потребно, својства у ЈаваСцрипт објектима се могу избрисати. Постоје три једноставне методе које можемо користити за брзо брисање било којег својства објекта. Прва техника користи избрисати оператор, одређени оператор у ЈаваСцрипт-у, користи други метод Деструктурирање објеката , а трећи метод користи Рефлецт.делетеПроперти() методом.
1. Уклоните својство из ЈаваСцрипт објекта помоћу оператора Делете:
Оператор брисања је специфичан оператор у ЈаваСцрипт-у. Ако желимо да уклонимо кључ из Објецт ЈаваСцрипт-а, користимо оператор делете . Оператор делете ради управо оно што његово име имплицира: уклања дато својство из објекта. Иако, прво морамо добити приступ својству да бисмо га избрисали. За приступ својству Објецт се може користити било приступ особинама тачке или приступ особинама угластих заграда.
Избришите методом тачке:
Синтакса:
delete object.property;
Пример:
let emp = { name: 'saswat', age: 26, designation: 'Software Engineer', } console.log(emp);
излаз:
{ name: 'saswat', age: 26, designation: 'Software Engineer' } age: 26 designation: 'Software Engineer' name: 'saswat'
Хајде да уклонимо својство старости на начин заснован на тачкама.
delete emp.age; console.log(emp);
Излаз:
{ name: 'saswat', designation: 'Software Engineer' } designation: 'Software Engineer' name: 'saswat'
Објашњење:
Из горњег излаза можемо видети да је оператор делете био ефикасан у брисању објекта емп'с имовинска старост (тачкасти пут) .
Избришите методом угласте заграде:
Синтакса:
Јава конвенције о именовању
delete object['property'];
Хајде да користимо угласте заграде да избришемо својство ознаке из истог објекта емп.
let emp = { name: 'saswat', age: 26, designation: 'Software Engineer', } delete emp['designation']; console.log(emp);
Излаз:
{ name: 'saswat', age: 26 } name: 'saswat' age: 26
Објашњење:
Из горњег излаза можемо видети да је оператор делете успео да избрише ознаку својства објекта емп (пут угластих заграда) .
2. Уклоните својство из ЈаваСцрипт објекта користећи деструктурирање објекта:
Деструктурирање објекта такође се може користити за уклањање својства из објекта, али постоји квака. Уместо измене оригиналног објекта, креира се нови објекат који не укључује избрисано својство. На овај начин оригинална ставка се чува (не мења).
Синтакса:
const{ propertyToRemove, ...newObject } = OriginalObject;
Пример:
const laptop = { brand: 'HP', model: 'Notebook', year: 2020, } const {model, ...newLaptop} = laptop; console.log(newLaptop); console.log(laptop);
Излаз:
{ brand: 'HP', year: 2020 } { brand: 'HP', model: 'Notebook', year: 2020 }
Објашњење:
У горе поменутом примеру, уклонили смо својство из објекта који користи објекат деструктурирање . Када смо користили деструктурирање објеката да уклонимо модел својства са оригиналног лаптопа објекта, добили смо нови објекат мој лаптоп без те имовине. Још једном, излаз показује да је оригинална ставка остала непромењена.
3. Уклоните својство из ЈаваСцрипт објекта помоћу Рефлецт.делетеПроперти() методе:
Тхе Рефлецт.делетеПроперти() методу обезбеђује један од уграђених ЈаваСцрипт објеката тзв 'Одразити' . Овај приступ је аналоган форми функције оператора делете, о којој смо расправљали.
Пример:
const cars = { car1: 'Honda', car2: 'Tata', car3: 'Toyota' }; Reflect.deleteProperty(cars, 'car2'); console.log(cars);
Излаз:
искључивање режима програмера
{ car1: 'Honda', car3: 'Toyota' }
Објашњење:
У горњем примеру, постојао је објекат под називом 'аутомобили' која је имала три имања. Да бисте уклонили цар2 имовине из тог објекта, користили смо Рефлецт.делетеПроперти() методом. Излаз показује да је брисање својства цар2 из објекта царс било успешно.
На крају, желимо да кажемо да није битно да ли користите оператор делете или Рефлецт.делетеПроперти() метод јер оба обављају посао са суштински истом временском сложеношћу. Међутим, коришћењем Објецт Деструцтинг одузима више времена. Отуда, због своје једноставне синтаксе и ниске временске сложености, оператор делете је најпопуларнији метод за уклањање кључева из јавасцрипт објеката.
Закључак
ЈаваСцрипт објекти се састоје од својстава, која су само парови кључ-вредност. Придружена вредност кључа се аутоматски брише када се кључ уклони.