假设我有以下变量:
int currentCreated = 94.6;
int averageCreated = 80.1;
int currentAssigned = 78.9;
int averageAssigned = 81.3;
如何确定最大变量?我的意思是,我可以使用Math.max轻松完成数字,但我对最大值和变量名感兴趣。
谢谢!
答案 0 :(得分:4)
如果要检查值和实际名称本身,最好的选择可能是使用关联数组或对象,并检查键的长度及其值。我无法立即想到任何其他方法来实现这一目标。
示例:
var numbers = {
currentCreated: 94.6,
averageCreated: 80.1,
currentAssigned: 78.9,
averageAssigned: 81.3
};
for ( e in numbers )
console.log( e.length + ' ' + numbers[e] );
答案 1 :(得分:1)
哦,好吧,只是为了娱乐。
function max(context){
var m = Math.max.apply(null, Array.prototype.slice.call(arguments, 1)),
n = null;
Object.keys( context ).some(function( prop ) {
if( window[prop] === m ) {
n = prop; return true;
}
return false;
});
return [n,m];
}
var foo = 5,
bar = 11,
baz = -2;
max(this, foo,bar,baz); // ['bar', 11]
答案 2 :(得分:1)
尽管回答这个问题已经很晚了,但是如果这对将来的某些人有帮助,我想分享我最近在处理类似情况时找到的解决方案:
var age1 = 32,
age2 = 24,
age3 = 34,
age4 = 19;
var ages = [age1, age2, age3, age4],
maxAge = Math.max.apply(Math.max, ages),
ageNames = ["age1", "age2", "age3", "age4"],
maxAgeName = ageNames[ages.indexOf(maxAge)];
我知道,变量名称可能更好,但这只是为了说明。
答案 3 :(得分:-1)
if(currentCreated>averageCreated && currentCreated>currentAssigned && currentAssigned>averageAssigned){//currentCreated is biggest}
每个人都这样做瞧!