Javascript:如何检查数组中的空对象?

时间:2016-03-24 17:20:39

标签: javascript arrays

我从JSON响应中获取了一组对象。有时我得到一个长度为1的数组,其中包含一个空对象。我该如何检查这种情况?

I tried with a few things-

  myarray[0]=='empty' || myarray[0] == 'undefined'
  or myarray.indexOf(0)== -1

但没有解决问题

2 个答案:

答案 0 :(得分:9)

您可以使用Object.keys()方法返回所有属性名称并检查其长度:

Object.keys(myarray[0]).length === 0;

答案 1 :(得分:4)

这取决于你所说的“空”。

如果你的意思是你得到了:

 [{}]

...然后madox2's answer is a good way to check,以下都不会有效。

但如果你的意思是[null]或类似的话:

如果您想专门检查undefined(请注意===而非==)(但您不会从JSON获得):

if (myarray[0] === undefined)

或专门针对null(请注意===而不是==):

if (myarray[0] === null)

或其中任何一个(请注意==而不是===):

if (myarray[0] == null)

或任何 falsy 值(0""NaNnullundefined,当然, false):

if (!myarray[0])
相关问题