私はjavascriptオブジェクトを持っています。私のconsole.log
はこれを出力します:javascriptオブジェクト内の要素の位置を見つける
Object {1: "name", 2: "cost", 3: "country", 4: "date"}
"コスト"に対応する番号はどのようにして見つけられますか?出力する関数を欲しいです。2
私はjavascriptオブジェクトを持っています。私のconsole.log
はこれを出力します:javascriptオブジェクト内の要素の位置を見つける
Object {1: "name", 2: "cost", 3: "country", 4: "date"}
"コスト"に対応する番号はどのようにして見つけられますか?出力する関数を欲しいです。2
非愚かな方法は、次のようになります。
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
)を使用することができると仮定し
それぞれの値をチェックしてプロパティを繰り返し処理します。
for (var property in object) {
if (object[property] === 'cost') {
/// congratulations, you've found it
}
}
もちろん、これを行うにはさまざまな方法があります。 Object.keys
- しかし、それらは基本的に同じことです。それをやっての
を.cost 'Object.prototype'拡張を行っていないいただきありがとうございます。シンプルで効果的なソリューション。 – Eihwaz
ああこれは本当に素晴らしいです!ありがとうございました!私は両方を実行し、それぞれの利点を見ます。 –
は、私が投げるはずと考えました私が読んだものからIE9の前にObject.Keys()がサポートされていないのでここでの答えです。
$.each(yourObject, function(key,value){
if(value === 'cost'){
console.log(key) // key is 2
}
});
ここにはJSFiddleがあります。 loadash
_.invert(入力)を使用して
は
これは私が欲しかったものです - ありがとう! –