列表

详情


2727. 判断对象是否为空

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

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

 

示例 1:

输入:obj = {"x": 5, "y": 42}
输出:false
解释:The object has 2 key-value pairs so it is not empty.

示例 2:

输入:obj = {}
输出:true
解释:The object doesn't have any key-value pairs so it is empty.

示例 3:

输入:obj = [null, false, 0]
输出:false
解释:The array has 3 elements so it is not empty.

 

提示:

 

你可以在 O(1) 时间复杂度内解决这个问题吗?

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
/** * @param {Object | Array} obj * @return {boolean} */ var isEmpty = function(obj) { };

javascript 解法, 执行用时: 60 ms, 内存消耗: 41.5 MB, 提交时间: 2023-06-10 19:23:54

/**
 * @param {Object | Array} obj
 * @return {boolean}
 */
var isEmpty = function(obj) {
    return Array.isArray(obj) ? (obj.length ? false : true) :
       (Object.keys(obj).length ? false : true);
};

javascript 解法, 执行用时: 60 ms, 内存消耗: 41.5 MB, 提交时间: 2023-06-10 19:23:22

/**
 * @param {Object | Array} obj
 * @return {boolean}
 */
var isEmpty = function(obj) {
    return Object.keys(obj).length === 0;
};

typescript 解法, 执行用时: 52 ms, 内存消耗: 44.2 MB, 提交时间: 2023-06-10 19:22:59

function isEmpty(obj: Record<string, any> | any[]): boolean {
    for (let i in obj) {
        return false
    }
    return true
};

typescript 解法, 执行用时: 68 ms, 内存消耗: 44.2 MB, 提交时间: 2023-06-10 19:22:40

function isEmpty(obj: Record<string, any> | any[]): boolean {
    return Object.keys(obj).length == 0
};

上一题