JavaScript - 词典为空
JavaScript - Dictionary is empty
我正在使用 Appcelerator,我想知道我的 JS 字典是否为空。
我试过这个:
var options = {};
// Option 1
Object.keys(options).length
1
//Option 2
isEmpty(options)
false
function isEmpty(ob){
for(var i in ob){ if(ob.hasOwnProperty(i)){return false;}}
return true;
}
//Option 3
JSON.stringify(options) === '{}'
false
最后我发现了问题:我添加了一个值为 'undefined' 的键,但 JSON.stringify()
函数没有显示该键。
所以,这个函数 Object.keys(options).length
工作得很好。
注意值为 'undefined' 的键,请使用此函数 Object.keys(options)
进行检查,因为 JSON.stringify
return 一个空字典 {}
var dict = {
cat: undefined
}
Ti.API.debug("Dict: " + JSON.stringify(dict)) > Dict: {}
Ti.API.debug("Keys: " + Object.keys(options).length) > Keys: 1
Ti.API.debug("Keys str: " + Object.keys(options)) > Keys: cat
var dict = {}
Ti.API.debug("Dict: " + JSON.stringify(dict)) > Dict: {}
Ti.API.debug("Keys: " + Object.keys(options).length) > Keys: 0
Ti.API.debug("Keys str: " + Object.keys(options)) > Keys:
我正在使用 Appcelerator,我想知道我的 JS 字典是否为空。
我试过这个:
var options = {};
// Option 1
Object.keys(options).length
1
//Option 2
isEmpty(options)
false
function isEmpty(ob){
for(var i in ob){ if(ob.hasOwnProperty(i)){return false;}}
return true;
}
//Option 3
JSON.stringify(options) === '{}'
false
最后我发现了问题:我添加了一个值为 'undefined' 的键,但 JSON.stringify()
函数没有显示该键。
所以,这个函数 Object.keys(options).length
工作得很好。
注意值为 'undefined' 的键,请使用此函数 Object.keys(options)
进行检查,因为 JSON.stringify
return 一个空字典 {}
var dict = {
cat: undefined
}
Ti.API.debug("Dict: " + JSON.stringify(dict)) > Dict: {}
Ti.API.debug("Keys: " + Object.keys(options).length) > Keys: 1
Ti.API.debug("Keys str: " + Object.keys(options)) > Keys: cat
var dict = {}
Ti.API.debug("Dict: " + JSON.stringify(dict)) > Dict: {}
Ti.API.debug("Keys: " + Object.keys(options).length) > Keys: 0
Ti.API.debug("Keys str: " + Object.keys(options)) > Keys: