logo

Com eliminar una clau/propietat d'un objecte en JavaScript

Introducció:

Els objectes JavaScript estan formats per propietats, que són només valor-clau parells. En essència, les propietats consisteixen en un parell de claus i valors que poden representar qualsevol tipus d'entitat. Fins i tot les funcions tenen la capacitat de funcionar com a valor o clau en qualsevol objecte. De totes maneres, en aquesta secció, parlarem de com esborrar claus d'Object JavaScript.

El valor associat d'una clau s'elimina automàticament quan s'elimina la clau. Per tant, eliminar una clau només implica eliminar aquest atribut. Ara hi ha tres maneres a JavaScript d'eliminar les claus dels objectes. Fem una ullada ràpida a cadascun.

Si cal, les propietats dels objectes JavaScript es poden esborrar. Hi ha tres mètodes senzills que podem utilitzar per esborrar ràpidament qualsevol propietat d'un objecte. La primera tècnica fa ús de la esborrar operador, un operador particular en JavaScript, el segon mètode fa ús Desestructuració d'objectes , i el tercer mètode fa servir el Reflect.deleteProperty() mètode.

1. Elimineu una propietat d'un objecte JavaScript mitjançant l'operador Delete:

L'operador delete és un operador específic en JavaScript. Si volem eliminar una clau d'un Object JavaScript, utilitzeu el suprimir l'operador . L'operador delete fa exactament el que el seu nom indica: elimina la propietat subministrada de l'objecte. Tot i que, primer hem d'accedir a la propietat per eliminar-la. Per accedir a la propietat Objecte es pot utilitzar l'accessor de propietat de punt o el d'accés de propietat de claudàtors.

Suprimeix amb el mètode de punts:

Sintaxi:

 delete object.property; 

Exemple:

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

sortida:

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

Eliminem la propietat d'edat d'una manera basada en punts.

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

Sortida:

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

Explicació:

Podem veure a la sortida anterior que l'operador de supressió va ser efectiu per eliminar l'objecte emp edat de la propietat (manera de punts) .

Suprimeix amb el mètode de claudàtors:

Sintaxi:

 delete object['property']; 

Utilitzem claudàtors per eliminar la propietat de designació del mateix objecte emp.

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

Sortida:

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

Explicació:

Podem veure a la sortida anterior que l'operador de supressió va tenir èxit en suprimir la designació de propietat de l'objecte emp (manera de claudàtors) .

2. Eliminar una propietat d'un objecte JavaScript mitjançant la desestructuració d'objectes:

Desestructuració d'objectes també es pot utilitzar per eliminar una propietat d'un objecte, però hi ha un problema. En lloc d'alterar l'objecte original, es crea un objecte nou que no inclou la propietat suprimida. D'aquesta manera, l'element original es conserva (no canvia).

Sintaxi:

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

Exemple:

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

Sortida:

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

Explicació:

desinstal·leu angular cli

En l'exemple esmentat anteriorment, vam eliminar una propietat d'un objecte mitjançant object desestructuració . Quan vam utilitzar la desestructuració d'objectes per eliminar el model de propietat del portàtil d'objectes original, vam obtenir el nou objecte el meu Laptop sense aquesta propietat. Una vegada més, la sortida demostra que l'element original no ha canviat.

3. Elimineu una propietat d'un objecte JavaScript mitjançant el mètode Reflect.deleteProperty():

El Reflect.deleteProperty() El mètode és proporcionat per un dels objectes JavaScript integrats anomenats 'Reflexionar' . Aquest enfocament és anàleg a la forma de funció de l'operador delete, que hem comentat.

Exemple:

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

Sortida:

 { car1: 'Honda', car3: 'Toyota' } 

Explicació:

A l'exemple anterior, hi havia un objecte anomenat 'cotxes' que tenia tres propietats. Per eliminar el cotxe 2 propietat d'aquest objecte, hem utilitzat el Reflect.deleteProperty() mètode. La sortida demostra que la supressió de la propietat car2 de l'objecte cars ha estat correcta.

Finalment, ens agradaria dir que no té cap diferència si feu servir el suprimir l'operador o el Reflect.deleteProperty() mètode perquè tots dos fan el treball essencialment amb la mateixa complexitat temporal. Tanmateix, utilitzant Destrucció d'objectes pren més temps. Per tant, a causa de la seva simple sintaxi i poca complexitat de temps, l'operador suprimir és el mètode més popular per eliminar claus d'objectes javascript.

Conclusió

Els objectes JavaScript estan formats per propietats, que són només parells clau-valor. El valor associat d'una clau s'elimina automàticament quan s'elimina la clau.