2016-05-23 3 views
0

いくつかの値が割り当てられた変数がいくつかあります。例の場合:Angularjs変数名の値が最高値になる

Gain_weight = 0.01 Gain_weather = 0.02

とより、このようないくつか。今私は割り当てられた最高値で変数名を取得したい。

私はこのようなことをすると、名前ではなく値を返します。

var rootNode = Math.max(Gain_weight,Gain_smoking,Gain_exercising,Gain_foodhabits,Gain_parent_heartattack, 
      Gain_alcohol,Gain_occupation,Gain_workinghrs); 

したがって、値の代わりに最高値の割り当て文字列を取得するにはどうすればよいですか?

+0

http://stackoverflow.com/questions/27376295/getting-key-with-the-highhest-value-from-object – apieceofbart

+0

なぜあなたはこれが必要ですか?ユースケースは何ですか?ここで示唆している方法で変数名をプログラムで取得することはできません – nem035

答えて

1

これを確認した後、questionは名前を取得できないようです。

を回避する方法は、変数名のと同じobjectまたは名前の連想配列を使用してすることができますいずれか、それは、変数の値として、このスニペットは

// Array with name value pair 
var _myDemoArray = [ 
{name:'Gain_weight', 
value:0.01}, 
{name:'Gain_weather', 
value:0.02}] 

// sort the array in descending order to get the element with maximum value. 
var _getSortedElem = _myDemoArray.sort(function(a,b){ 
    return b.value -a.value; 
}); 
// The first element of this sorted array will have element with maximum value 
console.log(_getSortedElem[0].name); 

チェックを理解するのに役立ちます

希望値ですこのjsfiddleデモ用

関連する問題