Hvordan fjerner man et nøgle-værdi-par fra JavaScript-objekt?
JavaScript-objekt er en kraftfuld datastruktur, der kombinerer nøgler og værdier . Nogle gange er vi nødt til at slette en bestemt nøgleværdi fra et objekt. Det kan gøres ved hjælp af fremgangsmåderne nedenfor.
Hvordan fjerner man en nøgleværdi fra JavaScript-objekt?
Der er flere metoder, der kan bruges til at fjerne en nøgle fra et JavaScript-objekt:
Indholdsfortegnelse
- Brug af metoderne reduce() og filter().
- Brug af sletteoperatoren
- Destrukturering med restoperatøren
- Brug af Object.assign()
- Brug af Object.fromEntries() og Object.entries()
- Brug af _.omit-metoden i Underscore.js-biblioteket
- UseCase of Fjern en nøgle fra JavaScript-objekt
1. Brug af metoderne reduce() og filter().
Det reducere() og filter() JavaScript-metoder kan sammen bruges til at fjerne en nøgle fra et JavaScript-objekt.
Syntaks for metoden reduce() og filter():
Object.keys(object_name).filter(()=>{}).reduce(()=>{}); Eksempel:
Nedenstående kodeeksempel implementerer filter- og reducermetoderne sammen for at fjerne nøgle fra et objekt.
Javascript let details = { name: 'Alex', age: 30, country: 'Canada' }; console.log('Original Object: ', details); details = Object.keys(details).filter(objKey =>objKey !== 'age').reduce((newObj, key) => { newObj[key] = details[key]; return newObj; }, {} ); console.log(detaljer); Produktion
Original Object: { name: 'Alex', age: 30, country: 'Canada' } { name: 'Alex', country: 'Canada' } Forklaring :
- Den oprindelige
details>objektet indeholder egenskaber for navn, alder og land. - Det
Object.keys(details)>metode returnerer et array, der indeholder nøglerne tildetails>objekt. - Det
.filter()>metoden bortfiltrerer egenskaben alder fra rækken af nøgler. - Det
.reduce()>metoden opretter et nyt objekt (newObj>) ved at iterere over de filtrerede nøgler og tildele dem til det nye objekt. - Til sidst tildeles det nye objekt uden egenskaben alder tilbage til
details>variabel, og den logges på konsollen.
2. Brug af sletteoperatoren
Det slet operatør i JavaScript kan bruges til at fjerne en egenskab (nøgleværdi-par) fra et objekt.
Syntaks for sletoperator:
delete objectName.propertyName;
Eksempel:
Nedenstående kode fjerner 'alder'-nøglen fra objektet og efterlader kun 'navn' og 'land'-nøglerne i objektet.
Javascript const details = { name: 'Alex', age: 30, country: 'Canada' }; console.log('Original Object:', details); delete details.age; console.log('Object after deleting age key:', details); Produktion
Original Object: { name: 'Alex', age: 30, country: 'Canada' } Object after deleting age key: { name: 'Alex', country: 'Canada' } Forklaring :
- Den oprindelige
details>objektet indeholder egenskaber for navn, alder og land. - Det
delete>operatør bruges til at fjerne aldersejendommen fradetails>objekt. - Efter sletning af aldersegenskaben, ændres
details>objekt logges til konsollen.
3. Destrukturering med restoperatøren
Destrukturering et objekt, der bruger rest-operatoren, opretter et nyt objekt uden en specificeret egenskab og beholder de resterende egenskaber fra det originale objekt.
Syntaks for destruktion med hvile-operator:
const { propertyToRemove, ...rest } = objectName; Eksempel:
Nedenstående kode bruger destruktureringssyntaksen til at fjerne nøgler fra en obect i JavaScript.
Javascript const details = { name: 'Alex', age: 30, country: 'Canada' }; console.log('orignal object', details) // after using destructuring and rest operator const { age, ...rest } = details; console.log(rest); Produktion
orignal object { name: 'Alex', age: 30, country: 'Canada' } { name: 'Alex', country: 'Canada' } Forklaring :
- Den oprindelige
details>objektet indeholder egenskaber for navn, alder og land. - Destruktureringsopgaven
{ age, ...rest } = details;>udtrækker aldersejendommen fradetails>objekt og tildeler det tilage>variabel. Resten af egenskaberne er samlet i et nyt objekt kaldetrest>. - Som følge heraf
rest>objektet indeholder alle originalens egenskaberdetails>genstand bortset fra aldersejendommen. - Det
rest>objektet logges derefter på konsollen og viser objektet uden aldersegenskaben.
4. Brug af Object.assign()
Ved brug af Object.assign() giver dig mulighed for at oprette et nyt objekt uden en specificeret egenskab ved at kopiere alle egenskaber undtagen den du vil fjerne.
Syntaks for object.assign():
const { age, ...rest } = Object.assign({}, details); Eksempel:
Nedenstående kode implementerer metoden Object.assign() for at fjerne egenskaben fra et objekt.
Javascript const details = { name: 'Alex', age: 30, country: 'Canada' }; console.log('orignal object', details) const { age, ...rest } = Object.assign({}, details); console.log(rest); Produktion
orignal object { name: 'Alex', age: 30, country: 'Canada' } { name: 'Alex', country: 'Canada' } Forklaring :
- Det
Object.assign({}, details)>metoden skaber en overfladisk kopi afdetails>objekt. Dette forhindrer ændring af originalendetails>objekt. - Derefter bruges objektdestrukturering til at udtrække aldersegenskaben fra det kopierede objekt og tildele det til
age>variabel. Resten af egenskaberne er samlet i et nyt objekt kaldetrest>. - Som følge heraf
rest>objektet indeholder alle originalens egenskaberdetails>genstand bortset fra aldersejendommen. - Det
rest>objektet logges derefter på konsollen og viser objektet uden aldersegenskaben.
5. Brug af Object.fromEntries() og Object.entries()
Det Object.entries() vil blive brugt til at konvertere objektet til et array af nøgleværdi-par. Så bruger vi Array.filter() for at udelukke nøgleværdi-parret med den angivne nøgle. Til sidst bruger vi Object.fromEntries() til at konvertere det filtrerede array tilbage til et objekt.
Eksempel:
Nedenstående kode implementerer ovenstående metoder til at fjerne nøgle fra et objekt i JavaScript.
Javascript const details = { name: 'Alex', age: 30, country: 'Canada' }; const { age, ...rest } = Object.fromEntries( Object.entries(details).filter(([key]) =>nøgle !== 'alder')); console.log(rest); Produktion
{ name: 'Alex', country: 'Canada' } Forklaring:
-
Object.entries(details)>konvertererdetails>objekt i en række nøgleværdi-par. -
.filter(([key]) =>nøgle !== 'alder')>filtrerer nøgleværdi-parrene fra, hvor nøglen ikke er lig med 'alder', hvilket effektivt fjerner aldersegenskaben. -
Object.fromEntries()>konverterer den filtrerede matrix af nøgleværdi-par tilbage til et objekt. - Endelig bruges objektdestrukturering til at udtrække aldersegenskaben fra resultatet, som tildeles
age>variabel, mens resten af egenskaberne er samlet i et nyt objekt kaldetrest>. - Det
rest>objektet logges derefter på konsollen og viser objektet uden aldersegenskaben.
6. Brug af _.omit-metoden i Underscore.js-biblioteket til at fjerne en nøgle fra objektet
Det underscore.js er et JavaScript-bibliotek, der kan inkluderes i et HTML-dokument gennem dets CDN Link, og så har du lov til at bruge dets indbyggede funktioner.
Syntaks for _.omit-metoden for Underscore.js-biblioteket:
objName = _.omit(objName, 'ketToRemove');
Eksempel:
Nedenstående kode vil forklare brugen af _.udelade() funktion til at fjerne en nøgle fra JavaScript-objekt.
HTML Fjern nøgle fra JavaScript Objekttitel> hoved>