Skip to content

判断对象是否为空

问题

给定一个对象或数组,判断它是否为空。

一个空对象不包含任何键值对。

一个空数组不包含任何元素。

你可以假设对象或数组是通过 JSON.parse 解析得到的。

示例 1:

输入:obj =

输出:false

解释:这个对象有两个键值对,所以它不为空。

示例 2:

输入:obj = {}

输出:true

解释:这个对象没有任何键值对,所以它为空。

示例 3:

输入:obj = [null, false, 0]

输出:false

解释:这个数组有 3 个元素,所以它不为空。

提示:

obj 是一个有效的 JSON 对象或数组

2 <= JSON.stringify(obj).length <= 105

答案

var isEmpty = function(obj) {

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

扩展

Object.keys(对象名)返回对象键组成的数组

const obj = {
  name: "Alice",
  age: 25,
  country: "USA"
};

const keys = Object.keys(obj);

console.log(keys);  // ["name", "age", "country"]