JavaScript: التحقق مما إذا كان الكائن لا يحتوي على خصائص أو إذا كانت خريطة/تراجعية فارغة [مكررة

StackOverflow https://stackoverflow.com/questions/3426979

سؤال

تكرار ممكن:
كيف يمكنني اختبار كائن JavaScript فارغ من JSON؟

هل هناك طريقة سهلة للتحقق مما إذا كان الكائن لا يحتوي على خصائص ، في JavaScript؟ أو بعبارة أخرى ، طريقة سهلة للتحقق مما إذا كانت خريطة/صفيف ترابط فارغ؟ على سبيل المثال ، دعنا نقول أن لديك ما يلي:

var nothingHere = {};
var somethingHere = {foo: "bar"};

هل هناك طريقة سهلة لمعرفة أي منها "فارغ"؟ الشيء الوحيد الذي يمكنني التفكير فيه هو شيء من هذا القبيل:

function isEmpty(map) {
   var empty = true;

   for(var key in map) {
      empty = false;
      break;
   }

   return empty;
}

هل هناك طريقة أفضل (مثل خاصية/وظيفة أصلية أو شيء من هذا القبيل)؟

هل كانت مفيدة؟

المحلول

جرب هذا:

function isEmpty(map) {
   for(var key in map) {
     if (map.hasOwnProperty(key)) {
        return false;
     }
   }
   return true;
}

يعمل الحل الخاص بك أيضًا ، ولكن فقط إذا لم تكن هناك مكتبة تمتد Object النموذج المبدئي. قد تكون أو لا تكون جيدة بما فيه الكفاية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top