亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何通過JavaScript對象的值獲取鍵?

如何通過JavaScript對象的值獲取鍵?

ibeautiful 2019-06-20 17:07:27
如何通過JavaScript對象的值獲取鍵?我有一個非常簡單的JavaScript對象,用作關聯數組。是否有一個簡單的函數允許我獲得一個值的鍵,還是我必須迭代該對象并手動找到它?
查看完整描述

3 回答

?
慕田峪9158850

TA貢獻1794條經驗 獲得超7個贊

帶著Underscore.js圖書館:

var hash = {
 foo: 1,
 bar: 2};(_.invert(hash))[1]; // => 'foo'


查看完整回答
反對 回復 2019-06-20
?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

function getKeyByValue(object, value) {
  return Object.keys(object).find(key => object[key] === value);}

ES6,沒有原型突變或外部庫。

例如,

function getKeyByValue(object, value) {

  return Object.keys(object).find(key => object[key] === value);

}



const map = {"first" : "1", "second" : "2"};

console.log(getKeyByValue(map,"2"));


查看完整回答
反對 回復 2019-06-20
?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

沒有可用的標準方法。您需要迭代,您可以創建一個簡單的助手:

Object.prototype.getKeyByValue = function( value ) {
    for( var prop in this ) {
        if( this.hasOwnProperty( prop ) ) {
             if( this[ prop ] === value )
                 return prop;
        }
    }}var test = {
   key1: 42,
   key2: 'foo'};test.getKeyByValue( 42 );  // returns 'key1'

一句警告:即使上述方法有效,擴展任何主機或本機對象的方法通常也是個壞主意。.prototype..我在這里這么做是因為它非常適合這個問題。無論如何,您可能應該在.prototype然后把物體傳遞給它。


查看完整回答
反對 回復 2019-06-20
  • 3 回答
  • 0 關注
  • 1642 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號