1

として定義されたオブジェクトの値がわかっている場合、プロパティ名を取得しようとしています

expOperators = {
    "0": "Select operator",
    "GREATERTHAN": "After",
    "LESSTHAN": "Before",
    "GREATERTHANEQUALTO": "On or After",
    "LESSTHANEQUALTO": "On or Before",
    "EQUALS": "On",
    "BETWEEN": "Between",
    "ISNULL": "Is Null",
    "ISNOTNULL": "Is not Null"
};

明らかに、価値を見つける必要がある場合は簡単ですが、逆のタスクを実行する必要があります。価値を知って、プロパティが何であるかを見つけます。何か案が?

4

2 に答える 2

0

オブジェクトをループしすぎて、オブジェクトの値を探しているものと比較する必要があります。

expOperators = {
    "0": "Select operator",
    "GREATERTHAN": "After",
    "LESSTHAN": "Before",
    "GREATERTHANEQUALTO": "On or After",
    "LESSTHANEQUALTO": "On or Before",
    "EQUALS": "On",
    "BETWEEN": "Between",
    "ISNULL": "Is Null",
    "ISNOTNULL": "Is not Null"
};

for(var name in expOperators ) {
    if(expOperators[name] === "Between"){
        document.write(name);
    }
}

http://jsfiddle.net/WsjyS/2/

于 2012-11-14T21:57:11.010 に答える
0

このようなものを使用してください

 for(var name in expOperators ) {
    if(expOperators.hasOwnProperty(name)){
      if(expOperators[name] === "Between"){
         alert(name);
       }
    }
}
于 2012-11-15T06:13:18.630 に答える