判断对象为空
# 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
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
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