我有一个对象有时它是空的,所以{}其他时候它将有内部属性设置为null.
{
property1: null,
property2: null
}
Run Code Online (Sandbox Code Playgroud)
如何确定此对象中的所有属性是否为空.如果它们都为null,则返回false.
目前我正在使用lodash检查第一种情况,其中对象只是{}空的.但我还需要介绍第二种情况.
if (isEmpty(this.report.device)) {
return false;
}
return true;
Run Code Online (Sandbox Code Playgroud)
function isEmpty (obj) {
return !Object.values(obj).some(element => element !== null);
}
Run Code Online (Sandbox Code Playgroud)
如果任何属性不存在,则此函数(命名isEmpty为与问题中给出的名称匹配)应返回,否则返回。falseobjnulltrue
您可以使用Object.values将对象转换为数组并用于every检查每个元素.使用!否定值.
let report = {
property1: null,
property2: null,
}
let result = !Object.values(report).every(o => o === null);
console.log(result);Run Code Online (Sandbox Code Playgroud)
一些元素的例子不是 null
let report = {
property1: null,
property2: 1,
}
let result = !Object.values(report).every(o => o === null);
console.log(result);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3922 次 |
| 最近记录: |