这是我的示例数据。我想检查对象内的数组是否为空。{ collection: Array(0), availability: Array(0), gender: Array(0), brand: Array(0),}以下是我现在正在使用的代码(从其他一些 stackoverflow 链接复制)。function objectIsEmpty(obj) { return Object.keys(obj).every(function(key) { var val = obj[key]; if (Array.isArray(val) && val.length === 0) { return true; } return false; });}上面的代码工作正常。我的主要问题是有什么更简洁的方法可以通过 jQuery 代码检查 Object 中的所有空数组,就像我们使用 jQuery.isEmptyObject() 来检查 Empty 对象一样?
2 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
ES8 有Object.values,这比Object.keys你只想要值要好。您也可以直接返回Array.isArray(val) && val.length === 0测试,如果需要,可以简洁地返回:
const objectIsEmpty = obj => Object.values(obj).every(
val => Array.isArray(val) && val.length === 0
);
炎炎设计
TA贡献1808条经验 获得超4个赞
你不需要所有的回报和分配。例如
function objectIsEmpty(obj) {
return Object.keys(obj).every(key =>
Array.isArray(obj[key]) && obj[key].length;
);
}
添加回答
举报
0/150
提交
取消