我正在尝试从JSON对象获取一个数组,并检查它是否为空,但它给了我一些问题。 HTML:
<p id="r"></p>
JS:
var r = document.getElementById('r');
var obj = {
"_id": "4345356",
"title": "sdfsf",
"data": []
};
obj = JSON.parse(obj);
function isEmpty(a) {
if (typeof a === 'undefined' || a.length == 0)
return true;
return false;
}
r.innerHTML = isEmpty(obj.data);
Fiddle。我错过了什么?谢谢!
答案 0 :(得分:3)
您不必解析obj
。它已经是一个对象了。
删除此行
obj = JSON.parse(obj);
答案 1 :(得分:1)
正如其他人所建议的那样,你似乎并不需要什么
obj = JSON.parse(obj);
最后,检查数组的空虚很容易,在这种情况下,请执行以下操作:
r.innerHTML = !obj.data.length;
或
r.innerHTML = obj.data.length === 0;
但是如果你真的需要为此目的定义一个函数,那么下面就足够了:
function isEmpty(a) {
return a && !a.length;
}
答案 2 :(得分:0)
你不需要这一行:obj = JSON.parse(obj);
我已经更新了小提琴。