Coffeescript中的空对象

时间:2013-07-08 21:25:24

标签: coffeescript

我想创建一个if语句来检查一个对象是否是一个空对象。

空对象我的意思是如果我执行console.log(object)它会打印出{}。

我该怎么做?

2 个答案:

答案 0 :(得分:17)

myObject = {}
if Object.keys(myObject).length == 0
    # myObject is "empty"
else
    # myObject is not "empty"

答案 1 :(得分:5)

此功能可能适合您:

is_empty = (obj) ->
    return true if not obj? or obj.length is 0

    return false if obj.length? and obj.length > 0

    for key of obj
        return false if Object.prototype.hasOwnProperty.call(obj,key) 

    return true

#Examples
console.log is_empty("") #true
console.log is_empty([]) #true
console.log is_empty({}) #true
console.log is_empty(length: 0, custom_property: []) #true

console.log is_empty("Hello") #false
console.log is_empty([1,2,3]) #false
console.log is_empty({foo: 1}) #false
console.log is_empty(length: 3, custom_property: [1,2,3]) #false