szótár - Hogyan ellenőrizhető, hogy egy hash térkép üres-e Typescript-ben
Nekem van
my_map: { [name: string]: string }
Hogyan ellenőrizhetem, hogy a my_map hashmap üres-e?
Eszembe jut a Object.keys(my_map).length === 0, de túlzásnak tűnik.
Válasz #1
Furcsa módon a túlzásba vitt megoldásod valójában nem elég; egy kicsit tovább kell menned:
Object.keys(obj).length === 0 && obj.constructor === Object
Példák :
function isEmptyUnderkill(obj: any) {
return Object.keys(obj).length === 0;
}
function isEmptyObject(obj: any) {
return Object.keys(obj).length === 0 && obj.constructor === Object;
}
const a = {};
const b = { name: 'User' };
console.log(isEmptyUnderkill(a), isEmptyObject(a));
console.log(isEmptyUnderkill(b), isEmptyObject(b));
console.log(isEmptyUnderkill(new Date()), isEmptyObject(new Date()));
ad :
true true
false false
true false
