【发布时间】:2014-06-02 02:04:20
【问题描述】:
我想做一个 if 语句来检查一个对象是否为空对象。
我所说的空对象是指如果我执行 console.log(object) 它会打印出 {}。
我该怎么做?
【问题讨论】:
-
Is object empty? 的可能重复项
标签: coffeescript
我想做一个 if 语句来检查一个对象是否为空对象。
我所说的空对象是指如果我执行 console.log(object) 它会打印出 {}。
我该怎么做?
【问题讨论】:
标签: coffeescript
myObject = {}
if Object.keys(myObject).length == 0
# myObject is "empty"
else
# myObject is not "empty"
【讨论】:
这个功能可能对你有用:
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
【讨论】:
{foo: undefined} 对象将返回true,而不是您可能期望的false。