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
const isEmptyObj = object => { if (!!Object.getOwnPropertySymbols(object).length) { return false } for (const key in object) { if (object.hasOwnProperty(key)) { return false } } return true }
const isEmptyObj = object => { if (!!Object.getOwnPropertySymbols(object).length) { return false } if (Object.keys(object).length) { return false } return true }Nach dem Login kopieren
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!