java判断对象属性存在_[Java教程]javascript判断嵌套对象属性是否存在

[Java教程]javascript判断嵌套对象属性是否存在

0 2012-07-18 19:01:40

很多时候,我们需要判断对象的属性是否存在,以便进行下一步的操作

而对象的属性又有一定的依赖关系,比如user.house.dog

//只有当user.house为真的时候才能判断user.hourse.dog//安全的做法

if(user) {

if(user.house) {

if(user.houre.dog) {

//如果层级很深的话,就恶心了

}

}

}

如果单纯的把条件换为user.house.dog,就完美了,开始动手function isKeyExists(path, object) { //在browser或者nodejs下,都能安全取得全局对象 var global = (function() { return this; }()); //将传入的对象路径字符串拆分为数组 var pathList = path.split('.'); var obj = null; //从全局对象中取出名字为 数组[0]的对象 var globalObj = global[pathList.shift()]; //如果指定了对象,就从对象中查找,如果没有就使用全局环境 obj = object || globalObj; if(!obj) { return false; } for(var i=0; key=pathList[i]; i++) { if(!obj[key]) { return false; } obj = obj[key]; } return true;}

var user = { house: { dog: 'somedog' }};//在浏览器和nodejs中都能正确判断if(isKeyExists('user.house.dog', user)) { console.log('hello dog');} else { console.log('nothing');} 本文网址:http://www.shaoqun.com/a/36062.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

JavaScript

0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值