Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Memeriksa Objek JavaScript Kosong dengan Berkesan?

Bagaimana untuk Memeriksa Objek JavaScript Kosong dengan Berkesan?

Susan Sarandon
Susan Sarandonasal
2024-12-13 13:03:25824semak imbas

How to Effectively Check for Empty JavaScript Objects?

Menyemak Objek JavaScript Kosong

Apabila bekerja dengan JavaScript, anda mungkin menghadapi senario di mana aplikasi anda mengembalikan objek kosong, dilambangkan sebagai { } . Menentukan kekosongan objek adalah penting untuk pengendalian data yang betul. Artikel ini meneroka beberapa kaedah untuk menguji objek JavaScript kosong.

Kaedah 1: untuk...dalam Loop dan Object.hasOwn (ECMA 2022)

Kaedah ini menggunakan a for...in loop untuk mengulangi sifat objek. Jika sebarang sifat sendiri wujud, ia menunjukkan bahawa objek itu tidak kosong, mengembalikan palsu. Jika tidak, ia kembali benar.

function isEmpty(obj) {
  for (const prop in obj) {
    if (Object.hasOwn(obj, prop)) {
      return false;
    }
  }

  return true;
}

Kaedah 2: Object.keys and length

Walaupun mudah, pendekatan ini kurang cekap kerana ia mencipta tatasusunan semua nama hartanah, yang mempunyai kerumitan O(N).

function isEmpty(obj) {
  return Object.keys(obj).length === 0;
}

Kaedah 3: Semakan Taip untuk Objek seperti { }

Untuk membezakan antara objek kosong ({ }) dan objek lain tanpa sifat sendiri (cth., Tarikh), semakan taip diperlukan:

function isEmptyObject(value) {
  if (value == null) {
    return false; // null or undefined
  }

  if (typeof value !== 'object') {
    return false; // boolean, number, string, function, etc.
  }

  const proto = Object.getPrototypeOf(value);

  if (proto !== null && proto !== Object.prototype) {
    return false; // `Object.create(null)` or other objects with custom prototypes
  }

  return isEmpty(value); // check for any own properties
}

Kaedah 4: Menggunakan Pihak Ketiga Perpustakaan

Banyak perpustakaan JavaScript yang popular menyediakan fungsi untuk menyemak objek kosong, seperti:

  • jQuery: jQuery.isEmptyObject
  • lodash: _.isEmpty
  • garis bawah: _.isEmpty
  • Hoek: Hoek.deepEqual
  • ExtJS: Ext.Object.isEmpty
  • AngularJS (versi 1): angular.equals

Atas ialah kandungan terperinci Bagaimana untuk Memeriksa Objek JavaScript Kosong dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn