Javascript - 如何有效变量链
Javascript - how to valid variable chain
我的代码中有很多地方都有以下格式:
if (a && a.b && a.b.c && a.b.c.d) {
//do something with a.b.c.d
}
给定a,b,c和d具有更复杂的名称,这是非常丑陋,耗时且容易出错的地方。
有没有"糖衣",比如:
if (valid(a.b.c.d)) {
//do something with a.b.c.d
}
你可以让递归辅助函数来做到这一点,例如:
function valid(obj, chain) {
if (!chain.length) {
return true;
}
var prop = chain.shift();
return !obj.hasOwnProperty(prop) ? false : valid(obj[prop], chain);
}
var a = { b: { c: { d: 1 } } };
console.log(valid(a, ['b', 'c', 'd'])); // true
console.log(valid(a, ['b', 'c', 'e'])); // false
相关文章:
- I'我在页面加载时将整个$_SESSION变量放入一个json对象中.虽然这对我有效,但这是一个好的做法吗
- 自定义角度过滤器提供TypeError.不能调用undefined,但变量已定义并有效
- jquery$(“#someID”).width(变量+'px')有效,现在无效
- 在条件(if)结构的条件语句中是否有定义变量的有效方法
- 尝试检索变量以检查表单是否有效
- 在 AJAX 函数内部,变量具有有效值,在外部则没有
- 由具有内联 JavaScript 的元素赋值的变量中的“this”对所有元素或已赋值的活动元素有效
- 变量有效,但在代码块的下方未定义
- 将变量从PHP传递到JavaScript的有效方法
- JS:为什么这个对象属性不起作用,只有当我把它作为变量放在其中一个方法中时,它才有效
- 为什么这个变量声明语句有效
- Javascript - 如何有效变量链
- 在JavaScript中用冒号分配变量的语法有效吗
- 如何有效地检查变量是否已声明
- 为什么第一个有效,第二个无效?全局和私有变量声明
- 如何设置具有多个条件的if语句,该语句使用有效条件's变量
- JavaScript优化:如何缓存本地变量'初始值更有效
- 在用Javascript完全创建变量之前,我似乎一直在使用它,但这很有效——为什么
- 此代码在警报变量时有效,但如果不是,则不起作用
- javascript中的标签有效变量