Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript jQuery获取对象键_Javascript_Jquery - Fatal编程技术网

javascript jQuery获取对象键

javascript jQuery获取对象键,javascript,jquery,Javascript,Jquery,我有以下代码: !function($){ $.keys = { backspace: 8, tab: 9, enter: 13, escape: 27, space: 32, pageUp: 33, pageDown: 34, end: 35, home: 36, left: 37, up: 38,

我有以下代码:

!function($){

    $.keys = {
        backspace: 8,
        tab: 9,
        enter: 13,
        escape: 27,
        space: 32,
        pageUp: 33,
        pageDown: 34,
        end: 35,
        home: 36,
        left: 37,
        up: 38,
        right: 39,
        down: 40,
        delete: 46,
        numpadEnter: 108,
        comma: 188
    };

}(window.jQuery);
我想构建一个函数,返回一个键代码字符串,例如:

$.keys.toString = function(key){
  switch(key){
    case $.keys.backspace:
      return 'backspace';
  }
};
当然,列表会更大,并且支持$.keys对象的所有键。但是有没有可能$.keys.toString函数实际上使用了$.keys数组来将int转换成字符串,所以我不必使用switch语句

比如getKeyFromObjectValue


感谢您的帮助:)

由于键列表是恒定的,您可以通过迭代和反转来创建另一个列表:

$.keysReversed = {};
$.each($.keys, function(key, value) {
  $.keysReversed[value] = key;  // value as key, key as value
});

现在,
$.keysReversed
包含了数对/名对。这比每次调用
.toString
时使用魔法要快-您只需返回
$。keysReversed[key]

由于键列表是恒定的,您可以通过迭代和反转来创建另一个列表:

$.keysReversed = {};
$.each($.keys, function(key, value) {
  $.keysReversed[value] = key;  // value as key, key as value
});
$.keys.toString = function(key){
    $.each($.keys, function(key, value){
        if(value === key){
            return key;
        }
    });
};
现在,
$.keysReversed
包含了数对/名对。这比每次调用
.toString
时使用魔法更快-您只需返回
$.keysReversed[key]

$.keys.toString = function(key){
    $.each($.keys, function(key, value){
        if(value === key){
            return key;
        }
    });
};
谢谢你的帮助:)


谢谢您的帮助:)

$返回。每个
没有
toString
返回内容。以
$返回。每个
没有
toString
返回内容。