2016-04-11 25 views

Antwort

3

werden, um eine nicht-durchgeknallten Art und Weise wäre es zu tun:

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

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

 
console.log(result) // 2

vorausgesetzt, dass Sie ES6 verwenden können (Pfeil Funktionen, find)

+0

das ist genau das, was ich wollte - danke! –

4

ausgibt Einfach über die Eigenschaften iterieren, die ihre jeweiligen Werte überprüfen.

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

Es gibt natürlich zahlreiche ausgefallene Möglichkeiten, die Sie tun können, z. Object.keys - aber sie sind alle im Grunde dasselbe.

+0

Danke für die 'Object.prototype' Erweiterung nicht zu tun. Einfache, effektive Lösung. – Eihwaz

+0

oh das ist wirklich nett! Vielen Dank! Ich renne beide und sehe die Vorteile von jedem. –

0

bezifferten werfen würde ich eine Antwort hier, da Object.Keys() vor IE9 nicht von dem was ich lese unterstützt wird.

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

Hier ist ein JSFiddle.

0

loadash Mit

_.invert (Eingang) .cost

Verwandte Themen