logo

Kā noņemt atslēgu/īpašību no objekta JavaScript

Ievads:

JavaScript objektus veido rekvizīti, kas ir tikai atslēgas vērtība pāriem. Būtībā rekvizīti sastāv no atslēgu un vērtību pāra, kas var attēlot jebkura veida entītiju. Pat funkcijām ir iespēja darboties kā vērtība vai atslēga jebkurā objektā. Jebkurā gadījumā šajā sadaļā mēs runāsim par to, kā dzēst atslēgas no objekta JavaScript.

a-b atzarošana

Atslēgai saistītā vērtība tiek automātiski dzēsta, kad atslēga tiek noņemta. Tātad atslēgas likvidēšana nozīmē tikai šī atribūta likvidēšanu. Tagad JavaScript ir trīs veidi, kā noņemt atslēgas no objektiem. Apskatīsim katru no tiem ātri.

Ja nepieciešams, JavaScript objektu rekvizītus var izdzēst. Ir trīs vienkāršas metodes, ko varam izmantot, lai ātri izdzēstu jebkuru objekta īpašumu. Pirmajā tehnikā tiek izmantota dzēst operators, konkrēts operators JavaScript, otrā metode izmanto Objekta iznīcināšana , un trešā metode izmanto Reflect.deleteProperty() metodi.

1. Noņemiet rekvizītu no JavaScript objekta, izmantojot dzēšanas operatoru:

Dzēšanas operators ir noteikts JavaScript operators. Ja mēs vēlamies noņemt atslēgu no objekta JavaScript, izmantojiet dzēst operatoru . Dzēšanas operators dara tieši to, ko norāda tā nosaukums: tas no objekta noņem piegādāto rekvizītu. Lai gan, lai to izdzēstu, mums vispirms ir jāpiekļūst īpašumam. Lai piekļūtu objekta rekvizītam, var izmantot vai nu punkta rekvizītu piederumu, vai kvadrātiekavās.

Dzēst ar punktu metodi:

Sintakse:

 delete object.property; 

Piemērs:

 let emp = { name: 'saswat', age: 26, designation: 'Software Engineer', } console.log(emp); 

izvade:

 { name: 'saswat', age: 26, designation: 'Software Engineer' } age: 26 designation: 'Software Engineer' name: 'saswat' 

Noņemsim vecuma rekvizītu, izmantojot punktus.

 delete emp.age; console.log(emp); 

Izvade:

 { name: 'saswat', designation: 'Software Engineer' } designation: 'Software Engineer' name: 'saswat' 

Paskaidrojums:

Iepriekš redzamajā izvadā redzams, ka dzēšanas operators bija efektīvs objekta dzēšanai emp's īpašuma vecums (punktu ceļš) .

Dzēst, izmantojot kvadrātiekavās:

Sintakse:

java slēdzis int
 delete object['property']; 

Izmantosim kvadrātiekavas, lai dzēstu apzīmējuma rekvizītu no tā paša objekta emp.

 let emp = { name: 'saswat', age: 26, designation: 'Software Engineer', } delete emp['designation']; console.log(emp); 

Izvade:

 { name: 'saswat', age: 26 } name: 'saswat' age: 26 

Paskaidrojums:

Iepriekš redzamajā izvadā redzams, ka dzēšanas operators veiksmīgi dzēsa objekta emp rekvizītu apzīmējumu (kvadrātiekavu veids) .

2. No JavaScript objekta noņemiet īpašumu, izmantojot objektu iznīcināšanu.

Objekta iznīcināšana var izmantot arī, lai noņemtu īpašumu no objekta, taču tas ir iespējams. Tā vietā, lai mainītu sākotnējo objektu, tiek izveidots jauns objekts, kas neietver dzēsto rekvizītu. Tādā veidā oriģinālais vienums tiek saglabāts (nemainās).

Sintakse:

 const{ propertyToRemove, ...newObject } = OriginalObject; 

Piemērs:

 const laptop = { brand: 'HP', model: 'Notebook', year: 2020, } const {model, ...newLaptop} = laptop; console.log(newLaptop); console.log(laptop); 

Izvade:

 { brand: 'HP', year: 2020 } { brand: 'HP', model: 'Notebook', year: 2020 } 

Paskaidrojums:

Iepriekš minētajā piemērā mēs noņēmām rekvizītu no objekta, izmantojot objektu iznīcināšana . Kad mēs izmantojām objektu iznīcināšanu, lai noņemtu īpašuma modeli no sākotnējā objekta klēpjdatora, mēs ieguvām jauno objektu mans klēpjdators bez šī īpašuma. Vēlreiz izvade parāda, ka sākotnējais vienums palika nemainīgs.

3. No JavaScript objekta noņemiet rekvizītu, izmantojot metodi Reflect.deleteProperty():

The Reflect.deleteProperty() metodi nodrošina viens no iebūvētajiem JavaScript objektiem, ko sauc 'atspoguļot' . Šī pieeja ir analoga dzēšanas operatora funkcijas formai, par kuru mēs runājām.

Piemērs:

 const cars = { car1: 'Honda', car2: 'Tata', car3: 'Toyota' }; Reflect.deleteProperty(cars, 'car2'); console.log(cars); 

Izvade:

python šķirošanas kortežs
 { car1: 'Honda', car3: 'Toyota' } 

Paskaidrojums:

Iepriekš minētajā piemērā bija objekts ar nosaukumu 'mašīnas' kam bija trīs īpašības. Lai noņemtu automašīna 2 īpašumu no šī objekta, mēs izmantojām Reflect.deleteProperty() metodi. Izvade parāda, ka rekvizīta car2 dzēšana no automobiļu objekta bija veiksmīga.

Visbeidzot, mēs vēlamies teikt, ka nav nozīmes tam, vai izmantojat dzēst operatoru vai Reflect.deleteProperty() metodi, jo viņi abi veic darbu ar tādu pašu laika sarežģītību. Tomēr, izmantojot Objektu iznīcināšana aizņem vairāk laika. Līdz ar to tās vienkāršās sintakses un mazā laika sarežģītības dēļ dzēšanas operators ir vispopulārākā metode atslēgu noņemšanai no JavaScript objektiem.

Secinājums

JavaScript objektus veido rekvizīti, kas ir tikai atslēgu un vērtību pāri. Atslēgai saistītā vērtība tiek automātiski dzēsta, kad atslēga tiek noņemta.