检查对象键值类型的最快方法(javascript)

检查对象键值类型的最快方法(javascript),javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我目前正在尝试确保对象具有设置为特定值类型的键。最快的方法是什么 到目前为止,通过使用多个ifs,我正在做一些似乎效率低下的事情 function bleh(obj){ if(typeof obj.key1 != 'variableType') return false; if(typeof obj.key2 != 'variableOtherType') return false; // more repetition of ifs code with simila

我目前正在尝试确保对象具有设置为特定值类型的键。最快的方法是什么

到目前为止,通过使用多个ifs,我正在做一些似乎效率低下的事情

function bleh(obj){
  if(typeof obj.key1 != 'variableType')
    return false;
  if(typeof obj.key2 != 'variableOtherType')
    return false;
  // more repetition of ifs code with similar manner but with different keys
  return true;
}

有没有更快的办法?我不确定这是否有区别,但我使用angular并包含jquery。我更希望得到的答案是vanilla js,但如果jquery或angular中有内置函数或技巧,我会很高兴知道。

在vanilla js中,我会这样做:

var pairList = {
    key1: 'variableType1',
    key2: 'variableType2',
    // more pairs
};
var bleh = function(obj) {
    for (var pair in pairList) {
        var key = pair;
        var type = pairList[pair];
        if (typeof obj[key] != type) {
            return false;
        }
    }
    return true;
}

根据NNNN注释进行编辑。

应为
var type=pairList[pair]。另外,您不需要
变量.canbe,但我更喜欢这样,当我说“应该是”时,我的意思是“除非您更改它,否则不会工作”-您当前的代码从不使用
pairList
中的值…如果您认为它不工作,您不知道vanilla js,请检查:我不是绝对正确的,但我是对的。同样,您当前的代码从不使用
pairList
中的值“有没有更快的方法?”——写代码更快,还是执行速度更快?我想我想说的是“更聪明”的方法我真的不明白人们为什么投反对票。我提出了一个以前从未被问过的严肃问题。我已经提供了我的代码,它提供了一个我正在做的示例,我要求更好的解决方案。使用这个网站的书和仍然仇恨坚持。。。。。啊,怎么办