Javascript:检查对象是否没有属性,或者映射/关联数组是否为空 [英] Javascript: Checking if an object has no properties or if a map/associative-array is empty

查看:182
本文介绍了Javascript:检查对象是否没有属性,或者映射/关联数组是否为空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


可能重复:

如何从JSON中测试一个空的Javascript对象?

在Javascript中有没有一个简单的方法来检查对象是否没有属性?或者换句话说,检查地图/关联数组是否为空的简单方法?例如,假设你有以下几点:

Is there an easy way to check if an object has no properties, in Javascript? Or in other words, an easy way to check if a map/associative array is empty? For example, let's say you had the following:

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

有没有一个简单的方法来判断哪个是空?我唯一可以想到的是这样的:

Is there an easy way to tell which one is "empty"? The only thing I can think of is something like this:

function isEmpty(map) {
   var empty = true;

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

   return empty;
}



<

Is there a better way (like a native property/function or something)?

推荐答案

尝试这样:

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

您的解决方案也可以,但只有当没有库扩展 Object 原型。它可能或可能不够好。

Your solution works, too, but only if there is no library extending the Object prototype. It may or may not be good enough.

这篇关于Javascript:检查对象是否没有属性,或者映射/关联数组是否为空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆