loading

判断对象为空

# Reflect.ownKeys

完美的解决方法

# Object.getOwnPropertyNames()

  • 可以获取不可枚举属性(enumerable: false)
  • 不能获取 Symbol 类型的 key,Object.getOwnPropertySymbols() 才能获取

# Object.keys, Object.values, Object.entries

这三种方法都可以获取对象的属性组成的数组,判断长度是否为0即可

  • 缺点:无法获取 key 为 Symbol 类型的属性,不能获取不可枚举属性

# JSON.stringify判空

let obj = {
    name: "cxy"
}
console.log(JSON.stringify(obj) == '{}')

let aaa = {
    a: null,
    b: undefined,
    c: function (){}
};
undefined
JSON.stringify(aaa)
'{"a":null}'
1
2
3
4
5
6
7
8
9
10
11
12
13

缺点:会把 undefined 和 Function 类型的属性删除

# for in判空

let forNull = (items) => {
    for (let item in items) {
        return false
    }
    return true
}
1
2
3
4
5
6
  • 缺点:无法获取 key 为 Symbol 类型的属性,不能获取不可枚举属性
最近更新时间: 2022/09/28 16:26:36
最近更新
01
2023/07/03 00:00:00
02
2023/04/22 00:00:00
03
2023/02/16 00:00:00