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
返回内容。