logo

Hoe controleer ik of een sleutel bestaat in een JavaScript-object?

Controleren of er een sleutel bestaat in een JavaScript-object omvat het verifiëren of een specifieke eigenschap binnen het object is gedefinieerd. Deze praktijk garandeert de gegevensintegriteit, voorkomt fouten en vergemakkelijkt een soepele uitvoering van programma's door het bestaan ​​van eigendommen te bevestigen voordat deze worden geopend of gemanipuleerd.

Objecten in JavaScript zijn niet-primitieve gegevenstypen die een ongeordende verzameling sleutel-waardeparen bevatten. Hier hebben we een object en moeten we controleren of de gegeven sleutel aanwezig is in het gegeven object of niet.



controleer of er een sleutel bestaat in een bepaald object

controleer of er een sleutel bestaat in het JavaScript-object

Javaanse staart

Laten we een JavaScript-object maken met bepaalde sleutel-waarden en dan zullen we verschillende benaderingen onderzoeken om te controleren of er een sleutel in het object bestaat.

Javascript
// Given object  let exampleObj = {  id: 1,  remarks: 'Good' }>

Hier zijn enkele veelgebruikte manieren om te controleren of een sleutel in een object bestaat:



Inhoudsopgave

Gebruik in operator

De in exploitant in JavaScript controleert of een sleutel in een object bestaat door een Booleaanse waarde te retourneren. Het verifieert of de opgegeven eigenschap aanwezig is in het object, waardoor de validatie van het bestaan ​​van de sleutel wordt vereenvoudigd.

Shilpa Shetty leeftijd

Syntaxis:



'key' in object>

Voorbeeld: In dit voorbeeld wordt de operator in gebruikt om het bestaan ​​van een sleutel in een JavaScript-object te controleren.

Javascript
let exampleObj = {  id: 1,  remarks: 'Good' } // Check for the keys let output1 = 'name' in exampleObj; let output2 = 'remarks' in exampleObj; console.log(output1); console.log(output2);>

Uitvoer
false true>

Met behulp van de hasOwnProperty()-methode

De hasOwnProperty()-methode retourneert een Booleaanse waarde die aangeeft of het object de opgegeven eigenschap heeft. De vereiste sleutelnaam kan in deze functie worden doorgegeven om te controleren of deze in het object bestaat.

Syntaxis:

wat is proloog
object.hasOwnProperty('key')>

Voorbeeld: In dit voorbeeld wordt de methode hasOwnProperty() gebruikt om het bestaan ​​van een sleutel in een JavaScript-object te controleren.

Javascript
let exampleObj = {  id: 1,  remarks: 'Good' } // Check for the keys let output1 = exampleObj.hasOwnProperty('name'); let output2 = exampleObj.hasOwnProperty('remarks'); console.log(output1); console.log(output2);>

Uitvoer
false true>

Met behulp van de Object.keys-methode

De Object.keys-methode in JavaScript haalt een array van de sleutels van het object op. Door te controleren of de gewenste sleutel in deze array is opgenomen, kan worden vastgesteld of deze in het object voorkomt.

np.samenvoegen

Syntaxis:

Object.keys(obj);>

Voorbeeld: In dit voorbeeld controleren we of de sleutelleeftijd bestaat in het object obj’. Het maakt gebruik van de Object.keys-methode om de sleutels op te halen en bevat een methode om de aanwezigheid van ‘leeftijd’ te controleren.

JavaScript
const obj = { name: 'Sandeep', age: '32' }; if (Object.keys(obj).includes('age')) {  console.log('true'); } else {  console.log('false'); }>

Uitvoer
true>

Met behulp van de typeof-operator

Hoewel het geen waterdichte methode is om te controleren of een sleutel in een object bestaat, kunt u de type operator om te controleren of een eigenschap in een object is gedefinieerd. Deze methode controleert of de waarde die aan de sleutel is gekoppeld, niet ongedefinieerd is.

Syntaxis:

typeof operand // OR typeof (operand)>

Voorbeeld: In dit voorbeeld controleren we of de sleutels ‘naam’ en ‘opmerkingen’ voorkomen in het object ‘exampleObj’. Het resulteert in false voor ‘naam’ en true voor ‘opmerkingen’.

JavaScript
let exampleObj = {  id: 1,  remarks: 'Good' }; // Check for the keys let output1 = typeof exampleObj['name'] !== 'undefined'; let output2 = typeof exampleObj['remarks'] !== 'undefined'; console.log(output1); // false console.log(output2); // true>

Uitvoer
false true>