是否可以从数组中返回变量名?
我有一个包含5个变量的数组。为每个变量分配一个数值。
我试图找到数组中的最高值,然后警告其变量名,或者可能使用该变量来处理它。
var vara = 0; //resultA
var varb= 0; //resultB
var varc= 0; //resultC
var vard= 0; //resultD
var vare= 0; //resultE
function showResults() {
var buckets = [vara, varb, varc, vard, vare];
var largest = Math.max.apply(Math, buckets);
alert(largest);
}
以上代码警告最大值,但我想找到相应的变量,例如vara而不是3
答案 0 :(得分:4)
不,不是。如果你想将某个名称与值相关联,那就是词典。
var obj = {"name": 123, "name2": 234}
obj.name3 = 345; // assign 345 to name3
var valueOfName3 = obj.name3; // get name3
如果您想获得此对象中的最大值(akonsu):
var largest = null;
var keyOfLargestVal = null;
for(var k in obj) { var v = obj[k];
if (largest === null || v > largest){
largest = v; keyOfLargestVal = k;
}
}