📌  相关文章
📜  js 检查对象是否为空 - Javascript (1)

📅  最后修改于: 2023-12-03 15:02:24.612000             🧑  作者: Mango

JS 检查对象是否为空 - Javascript

在编写 Javascript 代码时,经常需要检查对象是否为空。一个空的对象值为 null 或者 undefined,如果不进行空值检查可能会引发运行时错误,因此在程序中进行检查是非常必要的。

方法一:使用 Object.keys(obj)

我们可以使用 Object.keys(obj) 来判断对象是否为空,如果对象为空,则返回一个空的数组。

function isEmpty(obj) {
  return Object.keys(obj).length === 0;
}

// 测试
console.log(isEmpty({})); // true
console.log(isEmpty({name: '张三', age: 18})); // false
方法二:使用 Object.getOwnPropertyNames(obj)

除了使用 Object.keys(obj),我们还可以使用 Object.getOwnPropertyNames(obj) 来检查对象是否为空,使用方法与 Object.keys(obj) 类似。

function isEmpty(obj) {
  return Object.getOwnPropertyNames(obj).length === 0;
}

// 测试
console.log(isEmpty({})); // true
console.log(isEmpty({name: '张三', age: 18})); // false
方法三:通过 JSON 字符串化检查对象是否为空

我们可以将对象转成 JSON 字符串,然后通过 .length 属性来检查字符串长度是否为 2(只有 {} 这个空对象会被字符串化成 "{ }",长度为 2)。

function isEmpty(obj) {
  return JSON.stringify(obj).length === 2;
}

// 测试
console.log(isEmpty({})); // true
console.log(isEmpty({name: '张三', age: 18})); // false
方法四:使用 for...in 循环检查对象是否为空

我们可以使用 for...in 循环来检查对象是否为空,如果对象为空则循环不会执行。

function isEmpty(obj) {
  for (var key in obj) {
    return false;
  }
  return true;
}

// 测试
console.log(isEmpty({})); // true
console.log(isEmpty({name: '张三', age: 18})); // false

以上是四种检查对象是否为空的方法,可以根据实际需求选择其中一种进行使用。