Kaip pašalinti rakto-reikšmių porą iš „JavaScript“ objekto?
„JavaScript“ objektas yra galinga duomenų struktūra, kuri sujungia raktai ir vertybes . Kartais turime ištrinti konkrečią rakto reikšmę iš objekto. Tai galima padaryti naudojant toliau nurodytus metodus.
Kaip pašalinti rakto reikšmę iš „JavaScript“ objekto?
Yra keli metodai, kuriuos galima naudoti norint pašalinti raktą iš „JavaScript“ objekto:
Turinys
- Naudojant mažinimo() ir filtravimo() metodus
- Naudojant trynimo operatorių
- Naikinimas su poilsio operatoriumi
- Naudojant Object.assign()
- Naudojant Object.fromEntries() ir Object.entries()
- Naudojant Underscore.js bibliotekos metodą _.omit
- UseCase of Pašalinti raktą iš „JavaScript“ objekto
1. Sumažinimo() ir filtravimo() metodų naudojimas
The sumažinti () ir filtras() „JavaScript“ metodai gali būti naudojami kartu pašalinti raktą iš „JavaScript“ objekto.
Reduction() ir filter() metodų sintaksė:
Object.keys(object_name).filter(()=>{}).reduce(()=>{}); Pavyzdys:
Toliau pateiktame kodo pavyzdyje kartu įgyvendinami filtro ir mažinimo metodai, siekiant pašalinti raktą iš objekto.
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(detalės);>>
Išvestis Original Object: { name: 'Alex', age: 30, country: 'Canada' } { name: 'Alex', country: 'Canada' } Paaiškinimas :
- Originalus
details>objekte yra vardo, amžiaus ir šalies ypatybės. - The
Object.keys(details)>metodas grąžina masyvą, kuriame yra raktaidetails>objektas. - The
.filter()>metodas išfiltruoja amžiaus ypatybę iš raktų masyvo. - The
.reduce()>metodas sukuria naują objektą (newObj>) kartodami per filtruotus raktus ir priskirdami juos naujam objektui. - Galiausiai naujas objektas be amžiaus nuosavybės priskiriamas atgal
details>kintamasis ir jis registruojamas konsolėje.
2. Naudodami trynimo operatorių
The ištrinti operatorių „JavaScript“ gali būti naudojamas ypatybei (rakto-reikšmių porai) pašalinti iš objekto.
Ištrynimo operatoriaus sintaksė:
Žemiau pateiktas kodas pašalina „amžiaus“ raktą nuo objekto, palikdamas tik „pavadinimo“ ir „šalies“ raktus objekte.
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); Išvestis
Original Object: { name: 'Alex', age: 30, country: 'Canada' } Object after deleting age key: { name: 'Alex', country: 'Canada' } Paaiškinimas :
- Originalus
details>objekte yra vardo, amžiaus ir šalies ypatybės. - The
delete>operatorius naudojamas amžiaus ypatybei pašalinti išdetails>objektas. - Ištrynus amžiaus ypatybę, pakeista
details>objektas yra užregistruotas konsolėje.
3. Destruktūrizavimas su poilsio operatoriumi
Destruktūrizavimas objektas, naudodamas operatorių poilsį, sukuria naują objektą be nurodytos savybės, palikdamas likusias pirminio objekto savybes.
Sintaksė naikinant su poilsio operatoriumi:
const { propertyToRemove, ...rest } = objectName; Pavyzdys:
Toliau pateiktame kode naudojama naikinimo sintaksė, kad pašalintų raktus iš objekto „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); Išvestis
orignal object { name: 'Alex', age: 30, country: 'Canada' } { name: 'Alex', country: 'Canada' } Paaiškinimas :
- Originalus
details>objekte yra vardo, amžiaus ir šalies ypatybės. - Naikinimo užduotis
{ age, ...rest } = details;>ištraukia amžiaus savybę išdetails>objektą ir priskiria jį prieage>kintamasis. Likusios savybės surenkamos į naują objektą, vadinamąrest>. - Dėl to,
rest>Objekte yra visos originalo savybėsdetails>objektas, išskyrus amžiaus savybę. - The
rest>Tada objektas užregistruojamas konsolėje, rodomas objektas be amžiaus ypatybės.
4. Object.assign() naudojimas
Naudojant Object.assign() leidžia sukurti naują objektą be nurodytos ypatybės, nukopijuojant visas ypatybes, išskyrus tą, kurią norite pašalinti.
Objekto object.assign():
const { age, ...rest } = Object.assign({}, details); Pavyzdys:
Toliau pateiktas kodas įgyvendina Object.assign() metodą, kad pašalintų objekto nuosavybę.
Javascript const details = { name: 'Alex', age: 30, country: 'Canada' }; console.log('orignal object', details) const { age, ...rest } = Object.assign({}, details); console.log(rest); Išvestis
orignal object { name: 'Alex', age: 30, country: 'Canada' } { name: 'Alex', country: 'Canada' } Paaiškinimas :
- The
Object.assign({}, details)>metodas sukuria negilią kopijądetails>objektas. Tai neleidžia keisti originalodetails>objektas. - Tada objekto sunaikinimas naudojamas amžiaus ypatybei išgauti iš nukopijuoto objekto ir priskirti ją
age>kintamasis. Likusios savybės surenkamos į naują objektą, vadinamąrest>. - Dėl to,
rest>Objekte yra visos originalo savybėsdetails>objektas, išskyrus amžiaus savybę. - The
rest>Tada objektas užregistruojamas konsolėje, rodomas objektas be amžiaus ypatybės.
5. Object.fromEntries() ir Object.entries() naudojimas
The Objektas.įrašai() bus naudojamas objektui konvertuoti į raktų ir reikšmių porų masyvą. Tada mes naudojame Masyvas.filter() kad neįtrauktumėte rakto ir reikšmės poros su nurodytu raktu. Galiausiai, mes naudojame Object.fromEntries(), norėdami konvertuoti filtruotą masyvą atgal į objektą.
Pavyzdys:
Toliau pateiktas kodas įgyvendina aukščiau nurodytus metodus, kaip pašalinti raktą iš objekto „JavaScript“.
Javascript const details = { name: 'Alex', age: 30, country: 'Canada' }; const { age, ...rest } = Object.fromEntries( Object.entries(details).filter(([key]) =>raktas !== 'amžius')); console.log(rest);>> Išvestis
{ name: 'Alex', country: 'Canada' } Paaiškinimas:
-
Object.entries(details)>paverčiadetails>objektą į raktų ir reikšmių porų masyvą. -
.filter(([key]) =>klavišas !== 'amžius')>išfiltruoja rakto ir verčių poras, kuriose raktas nėra lygus „amžiui“, veiksmingai pašalindamas amžiaus ypatybę. -
Object.fromEntries()>paverčia filtruotą raktų ir reikšmių porų masyvą atgal į objektą. - Galiausiai, objekto naikinimas naudojamas amžiaus ypatybei išgauti iš rezultato, kuris yra priskirtas
age>kintamasis, o likusios savybės surenkamos į naują objektą, vadinamąrest>. - The
rest>Tada objektas užregistruojamas konsolėje, rodomas objektas be amžiaus ypatybės.
6. Norėdami pašalinti raktą iš objekto, naudokite Underscore.js bibliotekos metodą _.omit
The pabraukimas.js yra „JavaScript“ biblioteka, kurią galima įtraukti į HTML dokumentą per jos CDN nuorodą ir tada jums leidžiama naudoti įmontuotas funkcijas.
Underscore.js bibliotekos metodo _.omit sintaksė:
Pavyzdys:
Žemiau pateiktas kodas paaiškins, kaip naudoti _.išleisti () funkcija pašalinti raktą iš JavaScript objekto.
HTML Pašalinti raktą iš JavaScript Object title> head>