Javascript 如何循环对象并从对象调用函数

Javascript 如何循环对象并从对象调用函数,javascript,underscore.js,Javascript,Underscore.js,我有一个布尔值的对象,一旦该值为真,我想测试我的对象中是否有与函数相同的值,如果有,那么我想调用该函数。我可以通过使用javascript来实现这一点 但是我正在寻找一些使用下划线的好方法。。有可能吗 以下是我的尝试: var requiredViews : { "breadCrumbView": false, "headerView": false, "footerView": false } var that = this; _.each(requiredViews , func

我有一个布尔值的对象,一旦该值为真,我想测试我的对象中是否有与函数相同的值,如果有,那么我想调用该函数。我可以通过使用javascript来实现这一点

但是我正在寻找一些使用下划线的好方法。。有可能吗

以下是我的尝试:

var requiredViews : {
  "breadCrumbView": false,
  "headerView": false,
  "footerView": false
}
var that = this;
_.each(requiredViews , function(val,key){
   if(val && _.contaions(_.functions(that, key))){
  that[key]();
 }
})
除了从对象中单独选取真值键并调用它,还有什么快捷方式吗

有人建议我吗?

该方法只接受一个参数。看起来你在找这样的东西:

_.each(requiredViews , function(val,key){
    if(val && _.contains(_.functions(that), key)) {
        that[key]();
    }
})
var funcs = _.functions(that);
_.each(requiredViews , function(val,key){
    if(val && _.contains(funcs, key)) {
        that[key]();
    }
})
此外,在每次迭代中调用
\函数
似乎是一种浪费,您可能希望这样缓存它:

_.each(requiredViews , function(val,key){
    if(val && _.contains(_.functions(that), key)) {
        that[key]();
    }
})
var funcs = _.functions(that);
_.each(requiredViews , function(val,key){
    if(val && _.contains(funcs, key)) {
        that[key]();
    }
})
或者可以使用: