Objekt JavaScript je výkonná datová struktura, která se kombinuje klíče a hodnoty . Někdy potřebujeme z objektu odstranit konkrétní pár klíč–hodnota. To lze provést pomocí níže uvedených přístupů.

Jak odstranit pár klíč–hodnota z objektu JavaScript?
Existuje několik metod, které lze použít k odstranění klíče z objektu JavaScript:
Obsah
- Použití metod reduction() a filter().
- Pomocí operátoru delete
- Destrukturalizace s operátorem zbytku
- Použití Object.assign()
- Použití Object.fromEntries() a Object.entries()
- Použití metody _.omit knihovny Underscore.js
- UseCase of Odebrat klíč z objektu JavaScriptu
1. Použití metod reduction() a filter().
The snížit() a filtr() metody JavaScriptu lze společně použít k odstranění klíče z objektu JavaScriptu.
Syntaxe metody reduction() a filter():
Object.keys(object_name).filter(()=>{}).reduce(()=>{});>Příklad:
Níže uvedený příklad kódu implementuje metody filtrování a redukce společně k odstranění klíče z objektu.
Javascript let details = { name: 'Alex', age: 30, country: 'Canada' }; console.log('Original Object: ', details); details = Object.keys(details).filter(objKey =>objKey !== 'věk').reduce((newObj, key) => { newObj[key] = details[key]; return newObj; }, {} ); console.log(detaily);> Výstup
Original Object: { name: 'Alex', age: 30, country: 'Canada' } { name: 'Alex', country: 'Canada' }> Vysvětlení :
- Originál
details>objekt obsahuje vlastnosti pro jméno, věk a zemi. - The
Object.keys(details)>metoda vrací pole obsahující klíčedetails>objekt. - The
.filter()>metoda odfiltruje vlastnost age z pole klíčů. - The
.reduce()>metoda vytvoří nový objekt (newObj>) iterací přes filtrované klíče a jejich přiřazením k novému objektu. - Nakonec je nový objekt bez vlastnosti age přiřazen zpět k
details>a je přihlášen do konzole.
2. Pomocí operátoru delete
The odstranit operátor v JavaScriptu lze použít k odstranění vlastnosti (páru klíč-hodnota) z objektu.
Syntaxe operátoru delete:
delete objectName.propertyName;>
Příklad:
pro smyčku v bash
Níže uvedený kód odstraní z objektu klíč „věku“ a v objektu ponechá pouze klíče „jméno“ a „země“.
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);> Výstup
Original Object: { name: 'Alex', age: 30, country: 'Canada' } Object after deleting age key: { name: 'Alex', country: 'Canada' }> Vysvětlení :
- Originál
details>objekt obsahuje vlastnosti pro jméno, věk a zemi. - The
delete>Operátor se používá k odstranění vlastnosti stáří zdetails>objekt. - Po smazání vlastnosti stáří se změní
details>objekt je přihlášen do konzole.
3. Destrukce s operátorem zbytku
Ničení objekt používající operátor rest vytvoří nový objekt bez zadané vlastnosti, přičemž zachová zbývající vlastnosti původního objektu.
Syntaxe pro destrukci pomocí operátoru rest:
const { propertyToRemove, ...rest } = objectName;>Příklad:
Níže uvedený kód používá destrukční syntaxi k odstranění klíčů z obect v JavaScriptu.
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);> Výstup
orignal object { name: 'Alex', age: 30, country: 'Canada' } { name: 'Alex', country: 'Canada' }> Vysvětlení :
- Originál
details>objekt obsahuje vlastnosti pro jméno, věk a zemi. - Destrukční úkol
{ age, ...rest } = details;>extrahuje vlastnost stáří zdetails>objektu a přiřadí jej kage>variabilní. Zbývající vlastnosti jsou shromážděny do nového objektu s názvemrest>. - V důsledku toho
rest>objekt obsahuje všechny vlastnosti origináludetails>objekt kromě vlastnosti stáří. - The
rest>objekt je poté přihlášen do konzoly a zobrazuje objekt bez vlastnosti age.
4. Použití Object.assign()
Použitím Object.assign() umožňuje vytvořit nový objekt bez zadané vlastnosti zkopírováním všech vlastností kromě té, kterou chcete odstranit.
Syntaxe objektu.assign():
const { age, ...rest } = Object.assign({}, details);>Příklad:
Níže uvedený kód implementuje metodu Object.assign() k odstranění vlastnosti z objektu.
Javascript const details = { name: 'Alex', age: 30, country: 'Canada' }; console.log('orignal object', details) const { age, ...rest } = Object.assign({}, details); console.log(rest);> Výstup
orignal object { name: 'Alex', age: 30, country: 'Canada' } { name: 'Alex', country: 'Canada' }> Vysvětlení :
- The
Object.assign({}, details)>metoda vytvoří mělkou kopiidetails>objekt. Tím se zabrání modifikaci origináludetails>objekt. - Poté se destrukce objektu použije k extrahování vlastnosti stáří z kopírovaného objektu a jejímu přiřazení k objektu
age>variabilní. Zbývající vlastnosti jsou shromážděny do nového objektu s názvemrest>. - V důsledku toho
rest>objekt obsahuje všechny vlastnosti origináludetails>objekt kromě vlastnosti stáří. - The
rest>objekt je poté přihlášen do konzoly a zobrazuje objekt bez vlastnosti age.
5. Použití Object.fromEntries() a Object.entries()
The Object.entries() se použije k převodu objektu na pole párů klíč-hodnota. Pak použijeme Array.filter() k vyloučení páru klíč–hodnota se zadaným klíčem. Nakonec použijeme Object.fromEntries() k převedení filtrovaného pole zpět na objekt.
Příklad:
Níže uvedený kód implementuje výše uvedené metody k odstranění klíče z objektu v JavaScriptu.
Javascript const details = { name: 'Alex', age: 30, country: 'Canada' }; const { age, ...rest } = Object.fromEntries( Object.entries(details).filter(([key]) =>klíč !== 'věk')); console.log(zbytek);> Výstup
{ name: 'Alex', country: 'Canada' }> Vysvětlení:
Object.entries(details)>převádídetails>objekt do pole párů klíč-hodnota..filter(([key]) =>klíč !== 'věk')>odfiltruje páry klíč–hodnota, kde klíč není roven ‘věku’, a účinně odstraní vlastnost age.Object.fromEntries()>převede filtrované pole párů klíč–hodnota zpět na objekt.- Nakonec se k extrakci vlastnosti stáří z výsledku používá destrukturalizace objektu, která je přiřazena k
age>proměnná, zatímco zbytek vlastností se shromažďuje do nového objektu s názvemrest>. - The
rest>objekt je poté přihlášen do konzoly a zobrazuje objekt bez vlastnosti age.
6. Použití metody _.omit knihovny Underscore.js k odstranění klíče z objektu
The podtržítko.js je knihovna JavaScript, kterou lze zahrnout do dokumentu HTML prostřednictvím odkazu CDN a poté můžete používat její vestavěné funkce.
Syntaxe metody _.omit knihovny Underscore.js:
objName = _.omit(objName, 'ketToRemove');>
Příklad:
Níže uvedený kód vysvětlí použití _.vynechat() funkce k odstranění klíče z objektu JavaScript.
HTML Odebrat klíč z JavaScript Object title> head>