次のようなオブジェクトが与えられた場合:
taste =
0: "Hate"
1: "Really Dislike"
2: "Dislike"
3: ""
4: "Like"
5: "Really Like"
6: "Love"
値を指定するとキーを返す関数を探しています。私は次のことを試しました
Object::getKeyByVal = (value) ->
for prop of this
return prop if this[prop] is value if @hasOwnProperty(prop)
これを使用すると、alert time.getKeyByVal("< 1.5 hours") は実際には 8 を返しますが、残りのスクリプトを強制終了するエラーが発生します。
Uncaught TypeError: Object function (value) {
var prop;
for (prop in this) {
if (this.hasOwnProperty(prop) ? this[prop] === value : void 0) {
return prop;
}
}
} has no method 'exec'
特定の値のキーを取得するより良い方法はありますか?