Gunakan Object.keys
atau Object.values
Gunakan Object.keys
untuk mendapatkan array
yang berisi seluruh key yang ada pada objek tersebut, kemudian hitung panjang array
lalu bandingkan dengan Nol (0), jika sama maka objek adalah kosong, perhatikan contoh berikut.
let obj = {};
function isEmpty(obj) {
return Object.keys(obj).length === 0;
}
console.log(isEmpty(obj));
// true
Cara Object.values
hampir sama dengan Object.keys
tetepi yang dicek adalah value dalam array.
let obj = {};
function isEmpty(obj) {
return Object.values(obj).length === 0;
}
console.log(isEmpty(obj));
// true
Looping objek dengan for ... in
Gunakan looping for ... in
untuk mengulang prop
pada objek.
let obj = {};
function isEmpty(obj) {
for (let prop in obj) {
if (obj.hasOwnProperty(prop)) return false;
}
return true;
}
console.log(isEmpty(obj));
// true
Dalam kode di atas, kita akan mengulang-ulang properti objek dan jika suatu objek memiliki setidaknya satu properti, maka itu akan memasuki loop dan kembali false
. Jika objek tidak memiliki properti apa pun maka itu akan mengembalikan true
.
Menggunakan JSON.stringify
Objek kosong bentuknya adalah seperti berikut {}
.
Jika kita lakukan JSON.stringify
terhadap objek kosong maka kita kan temukan nilainya sebuah braket pembukaan dan penutupan, berdasarkan itu kita bisa bandingkan dengan braket pembuka dan penutup dalam bentuk string. Lebih jelas lihat contoh berikut.
let obj = {};
function isEmptyObject(obj) {
return JSON.stringify(obj) === "{}";
}
console.log(isEmptyObject(obj));
// true
Menggunakan JQuery
jQuery.isEmptyObject(obj);
Menggunakan Lodash
_.isEmpty(obj);
Berdasarkan cara-cara diatas kalau asrul dev sendiri lebih suka pakai JSON.stringify
, kalau sahabat lebih suka mana? silahkan tinggalkan komentar yah...