Как сказано, итерация необходима. Например, в современном браузере вы могли бы иметь:
var key = Object.keys(obj).filter(function(key) {return obj[key] === value})[0];
Где value
содержит значение, которое вы ищете.
Сказал, что я, вероятно, использовал бы цикл.
В противном случае вы можете использовать правильный объект "hashmap" - есть несколько реализаций в JS - или реализовать его самостоятельно.
ОБНОВЛЕНИЕ 2018
Прошло шесть лет, но я все еще имею право голоса здесь, поэтому я чувствую, что более современное решение - для современного браузера / среды - следует упомянуть в самом ответе, а не только в комментариях:
const key = Object.keys(obj).find(key => obj[key] === value);
Конечно, это может быть и функция:
const getKeyByValue = (obj, value) =>
Object.keys(obj).find(key => obj[key] === value);