Heim >Web-Frontend >js-Tutorial >So prüfen Sie, ob ein Objekt in JavaScript leer ist (Codebeispiel)
Der Inhalt dieses Artikels befasst sich mit der Überprüfung, ob ein Objekt in JavaScript leer ist (Codebeispiel). Ich hoffe, dass es für Sie hilfreich ist.
Es ist einfach, zu überprüfen, ob ein Array leer ist. Rufen Sie einfach direkt die Längenmethode auf. So überprüfen Sie, ob ein Objekt leer ist zum Objekt Keine eigenen Eigenschaften
Angenommen, es gibt hier zwei Objekte, eines ist obj und das andere ist ein anderesObjlet obj1 = {
name: 'oli',
child: {
name: 'oliver'
}
}
let obj2 = {
[Symbol('name')]: 'alice'
}
let obj3 = Object.defineProperty({}, 'name', {
value: 'alice',
enumerable: false
})
let obj4 = Object.create(null)
// 我们需要一个函数,判断是否不含自有属性
isEmpty(obj1) // false
isEmpty(obj2) // false
isEmpty(obj3) // false
isEmpty(obj4) // true
❗️Ich habe lange darüber nachgedacht, ob das Objekt hat ein Symbol-Attribut. Sie können nur die Methode getOwnPropertySymbols verwenden. Wenn es einen besseren Weg gibt, können Sie gerne eine Nachricht hinterlassen. beim Durchlaufen und Bestätigen, ob ein Schlüssel über die Methode hasOwnProperty vorhanden ist. Diese Methode kann nicht zum Attribut
const isEmptyObj = object => { if (!!Object.getOwnPropertySymbols(object).length) { return false } for (const key in object) { if (object.hasOwnProperty(key)) { return false } } return true }übergehen, dessen Aufzählungsmethode „false“ ist Verwenden Sie die statischen Methodenschlüssel des Objekts und beurteilen Sie dann die Länge. Der Schlüssel ergibt, dass er durch sich selbst aufgezählt werden kann, sodass er nicht auf Attribute übertragen werden kann, deren Aufzählungswert falsch ist
const isEmptyObj = object => { if (!!Object.getOwnPropertySymbols(object).length) { return false } if (Object.keys(object).length) { return false } return true }
Methode 3 : JSON-Methode
Verwenden Sie die JSON-Stringify-Methode, um das Objekt in eine Zeichenfolge zu konvertieren, und verwenden Sie zum Vergleich die Zeichenkette „{}“. Dieselbe Methode kann die nicht durchlaufbaren Eigenschaften nicht abrufenconst isEmptyObj = object => { if (!!Object.getOwnPropertySymbols(object).length) { return false } return JSON.stringify(object) === '{}' }
Methode 4: getOwnPropertyNames-Methode
Verwenden Sie die getOwnPropertyNames-Methode von Object, um alle Eigenschaftsnamen abzurufen, sodass auch nicht aufzählbare Attribute weiterhin abgerufen werden können, was eine relativ gute Methode ist .const isEmptyObj = object => { if (!!Object.getOwnPropertySymbols(object).length) { return false } if (!!Object.getOwnPropertyNames(object).length) { return false } return true }
Vereinfachte Version:
const isEmptyObj = object => !Object.getOwnPropertySymbols(object).length && !Object.getOwnPropertyNames(object).length
[Verwandte Empfehlungen:
JavaScript-Video-Tutorial]
Das obige ist der detaillierte Inhalt vonSo prüfen Sie, ob ein Objekt in JavaScript leer ist (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!