我从JSON响应中获取了一组对象.有时我得到一个长度为1的数组,其中包含一个空对象.我该如何检查这种情况?
I tried with a few things-
myarray[0]=='empty' || myarray[0] == 'undefined'
or myarray.indexOf(0)== -1
Run Code Online (Sandbox Code Playgroud)
但没有解决问题
mad*_*ox2 11
您可以使用Object.keys()方法返回所有属性名称并检查它的长度:
Object.keys(myarray[0]).length === 0;
Run Code Online (Sandbox Code Playgroud)
这取决于您所说的“空”是什么意思。
如果你的意思是你得到:
[{}]
Run Code Online (Sandbox Code Playgroud)
...那么madox2 的答案是一个很好的检查方法,以下都不起作用。
但如果你的意思[null]或类似:
如果您想专门检查undefined(注意===而不是==)(但您不会从 JSON 中获得):
if (myarray[0] === undefined)
Run Code Online (Sandbox Code Playgroud)
或专门用于null(注意===而不是==):
if (myarray[0] === null)
Run Code Online (Sandbox Code Playgroud)
或者对于其中任何一个(注意==而不是===):
if (myarray[0] == null)
Run Code Online (Sandbox Code Playgroud)
或者对于任何虚假值(0, "", NaN, null, undefined, 或者当然,false):
if (!myarray[0])
Run Code Online (Sandbox Code Playgroud)