2016-04-11 41 views

回答

3

做的非糊塗的方式,它是:

var yourObject = {1: "name", 2: "cost", 3: "country", 4: "date"}; 
 

 
var result = Object.keys(yourObject).find(key => yourObject[key] === 'cost'); 
 

 
console.log(result) // 2

假設你可以使用ES6(箭頭功能,find

+0

這正是我想要的 - 謝謝! –

4

只需遍歷屬性檢查其各自的值。

for (var property in object) { 
    if (object[property] === 'cost') { 
    /// congratulations, you've found it 
    } 
} 

當然有許多奇特的方法可以做到這一點,例如, Object.keys - 但它們都是基本相同的東西。

+0

謝謝你沒有做'Object.prototype'擴展。簡單有效的解決方案。 – Eihwaz

+0

哦,這真的很好!謝謝!我將運行並看到每個的好處。 –

0

想我會折騰因爲Object.Keys()在我讀的IE9之前不被支持。

$.each(yourObject, function(key,value){ 
    if(value === 'cost'){ 
     console.log(key) // key is 2 
    } 
}); 

這是JSFiddle

0

使用loadash

_.invert(輸入)。成本