2016-05-23 73 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-highest-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演示