我怎么能返回一个空对象同时空对象等于布尔值false在javascript
how can I return an empty object meanwhile the empty object equals to boolean false in javascript?
我想返回一个空对象同时对象等于布尔值false在我的函数。显然,如果我像下面的代码一样返回{},它等于布尔值true,这不能满足我的请求。
decodeAndParse: function (jsonStr) {
if (this.NaEptStr(jsonStr)) {
var result;
result = decodeURIComponent(jsonStr);
result = JSON.parse(result);
return result;
}
return false;
}
这个问题有可能解决吗?
如果有人能帮我解决这个问题,我非常感谢
你的代码可以是:
decodeAndParse: function (jsonStr) {
return this.NaEptStr(jsonStr)? JSON.parse(decodeURIComponent(jsonStr)) : {};
}
那么在调用代码中,你可能会有这样的内容:
var obj = foo.decodeAndParse(jsonStr);
if (obj) {
...
}
您可以有一个简单的"emptyObj"测试,如:
function isEmptyObject(obj) {
return !!Object.keys(obj).length;
}
Then in the caller:
if (isEmptyObject(obj)) {
如果您需要垫片对象。key,参见MDN。请注意,IE8仍然有很大的用户份额(根据netmarketshare,超过桌面浏览器的20%),所以不要忽视非es5浏览器。
创建一个函数,计算对象
中的键数function isNotEmpty(obj){
var count = 0;
for (var k in obj) {
if (obj.hasOwnProperty(k)) {
++count;
}
}
return count ? true : false;
}
并将if修改为
if (isNotEmpty(this.NaEptStr(jsonStr)))
但是检查对象中是否存在必需字段的最简单方法
if(this.naEpStr(jsonStr).myRequiredField)
相关文章:
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 查找数组's按属性不存在于另一个数组中的对象
- 块相对于父对象的位置
- 使用Lodash从JSON对象获取特定于环境的配置
- 在对象上迭代以验证它是否's键存在于数组中
- 页面对象设计:有没有相当于Ruby gem的Javascript;site_prism”;
- 有可能对对象中的所有键进行原子更新吗?类似于阵列拼接的东西
- 为什么属性存在于对象实例上,即使其原型发生了更改
- undercore返回数组中对象的indes,其中单词存在于对象中的句子中
- HTML按钮的作用类似于从键盘按下的键,并在某些对象或整个网站上起作用
- 是 JavaScript 中的布尔对象
- 如何专注于YouTube视频播放器对象
- 布尔对象上的逻辑 NOT 在 Javascript 中总是返回 false
- 检查数组中的项是否存在于对象内部
- 如何创建行为类似于本机对象的对象
- javascript对象属性应用于所有对象
- 在 Javascript 中,在对象到布尔的情况下,类型强制如何
- 是否可以定义任意对象的布尔值
- 保留的大小的Javascript对象充满布尔值
- 我怎么能返回一个空对象同时空对象等于布尔值false在javascript