logo

Kulcs/tulajdonság eltávolítása egy objektumból JavaScriptben

Bevezetés:

A JavaScript objektumok olyan tulajdonságokból állnak, amelyek csak kulcs érték párok. A tulajdonságok lényegében egy pár kulcsból és értékből állnak, amelyek bármilyen típusú entitást képviselhetnek. Még a függvények is képesek értékként vagy kulcsként funkcionálni bármely objektumban. Mindenesetre ebben a részben arról fogunk beszélni, hogyan lehet kulcsokat törölni az Object JavaScriptből.

A kulcshoz tartozó érték automatikusan törlődik a kulcs eltávolításakor. Tehát egy kulcs eltávolítása pusztán az attribútum törlését jelenti. A JavaScriptben most háromféle módon távolíthatja el a kulcsokat az objektumokról. Vessünk egy gyors pillantást mindegyikre.

Ha szükséges, a JavaScript objektumok tulajdonságai törölhetők. Három egyszerű módszert használhatunk bármilyen objektumtulajdonság gyors törlésére. Az első technika a töröl operátor, egy adott operátor a JavaScriptben, a második módszer használja Objektum megsemmisítése , a harmadik módszer pedig a Reflect.deleteProperty() módszer.

1. Távolítson el egy tulajdonságot egy JavaScript-objektumból a Delete operátor segítségével:

A delete operátor egy konkrét operátor a JavaScriptben. Ha el akarunk távolítani egy kulcsot egy objektum JavaScript-ből, használjuk a operátor törlése . A delete operátor pontosan azt teszi, amit a neve is sugall: eltávolítja a megadott tulajdonságot az objektumból. Bár először hozzá kell férnünk a tulajdonhoz, hogy töröljük. Az objektum tulajdonság eléréséhez a ponttulajdonság-elfogadó vagy a szögletes zárójeles tulajdonság-elérő használható.

Törlés pont módszerrel:

Szintaxis:

 delete object.property; 

Példa:

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

Kimenet:

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

Távolítsuk el az age tulajdonságot pont alapú módon.

mi az a desktop ini
 delete emp.age; console.log(emp); 

Kimenet:

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

Magyarázat:

A fenti kimenetből láthatjuk, hogy a delete operátor hatékonyan törölte az objektumot emp's tulajdon kora (pont mód) .

Törlés szögletes zárójeles módszerrel:

Szintaxis:

 delete object['property']; 

Használjunk szögletes zárójeleket, hogy ugyanabból az objektumból töröljük a kijelölés tulajdonságot.

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

Kimenet:

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

Magyarázat:

A fenti kimenetből láthatjuk, hogy a delete operátor sikeresen törölte az objektum emp tulajdonságmegjelölését (szögletes zárójelben) .

2. Távolítson el egy tulajdonságot egy JavaScript-objektumból az objektum-megsemmisítés segítségével:

Objektum destrukció egy tulajdonság eltávolítására is használható egy objektumról, de van egy fogás. Az eredeti objektum módosítása helyett egy új objektum jön létre, amely nem tartalmazza a törölt tulajdonságot. Ily módon az eredeti tétel megmarad (nem változik).

Szintaxis:

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

Példa:

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

Kimenet:

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

Magyarázat:

A fent említett példában az objektum használatával eltávolítottunk egy tulajdonságot egy objektumból destrukturáló . Amikor objektumdestrukcióval eltávolítottuk a tulajdonságmodellt az eredeti objektum laptopról, megkaptuk az új objektumot a laptopom az adott tulajdonság nélkül. A kimenet még egyszer azt mutatja, hogy az eredeti tétel változatlan maradt.

3. Távolítson el egy tulajdonságot egy JavaScript-objektumból a Reflect.deleteProperty()metódussal:

A Reflect.deleteProperty() metódust a beépített JavaScript objektumok egyike biztosítja 'tükrözni' . Ez a megközelítés hasonló a delete operátor függvényformájához, amelyet már tárgyaltunk.

Példa:

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

Kimenet:

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

Magyarázat:

A fenti példában egy objektum volt a neve 'autók' amelynek három tulajdonsága volt. Az eltávolításához a autó2 tulajdonság az adott objektumból, használtuk a Reflect.deleteProperty() módszer. A kimenet azt mutatja, hogy a car2 tulajdonság törlése a cars objektumból sikeres volt.

Végül azt szeretnénk mondani, hogy nem mindegy, hogy használja-e a operátor törlése vagy a Reflect.deleteProperty() módszert, mert mindketten lényegében ugyanolyan időbeli bonyolultsággal végzik a munkát. Felhasználva azonban Tárgymegsemmisítés több időt vesz igénybe. Következésképpen egyszerű szintaxisa és alacsony időbeli bonyolultsága miatt a delete operátor a legnépszerűbb módszer a kulcsok JavaScript-objektumokból való eltávolítására.

Következtetés

A JavaScript objektumok tulajdonságokból állnak, amelyek csak kulcs-érték párok. A kulcshoz tartozó érték automatikusan törlődik a kulcs eltávolításakor.