Joã*_*imo 56 javascript dictionary match
从节点REPL的事情,
> d = {}
{}
> d === {}
false
> d == {}
false
Run Code Online (Sandbox Code Playgroud)
鉴于我有一个空字典,我如何确保它是一个空字典?
Ray*_*nos 76
function isEmpty(obj) {
return Object.keys(obj).length === 0;
}
Run Code Online (Sandbox Code Playgroud)
Gum*_*mbo 19
您可以Object.prototype使用此isEmpty方法进行扩展,以检查对象是否没有自己的属性:
Object.prototype.isEmpty = function() {
for (var prop in this) if (this.hasOwnProperty(prop)) return false;
return true;
};
Run Code Online (Sandbox Code Playgroud)
Dav*_*tka 10
由于它没有属性,for循环不会有任何迭代.为了给予应有的信用,我在这里找到了这个建议.
function isEmpty(ob){
for(var i in ob){ return false;}
return true;
}
isEmpty({a:1}) // false
isEmpty({}) // true
Run Code Online (Sandbox Code Playgroud)
这是jQuery使用的,工作得很好.虽然这确实需要jQuery脚本使用isEmptyObject.
isEmptyObject: function( obj ) {
for ( var name in obj ) {
return false;
}
return true;
}
//Example
var temp = {};
$.isEmptyObject(temp); // returns True
temp ['a'] = 'some data';
$.isEmptyObject(temp); // returns False
Run Code Online (Sandbox Code Playgroud)
如果包含jQuery不是一个选项,只需创建一个单独的纯JavaScript函数.
function isEmptyObject( obj ) {
for ( var name in obj ) {
return false;
}
return true;
}
//Example
var temp = {};
isEmptyObject(temp); // returns True
temp ['b'] = 'some data';
isEmptyObject(temp); // returns False
Run Code Online (Sandbox Code Playgroud)
我距离JavaScript学者还很远,但是以下工作有效吗?
if (Object.getOwnPropertyNames(d).length == 0) {
// object is empty
}
Run Code Online (Sandbox Code Playgroud)
它的优点是可以作为一行纯函数调用。
| 归档时间: |
|
| 查看次数: |
44115 次 |
| 最近记录: |