Angularjs获得具有最高值的变量名称

时间:2016-05-23 06:29:36

标签: javascript 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);

因此,如何获取分配最高值的字符串而不是值?

1 个答案:

答案 0 :(得分: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进行演示