例如;我们有三个变量:
var a = 11;
var b = 23;
var c = 8;
我们可以返回最大/最小值的变量名吗?
答案 0 :(得分:2)
Math.max(a, b, c)
如果数组中的项目数量可变:
var arr = [a, b, c];
Math.max.apply(null, arr);
答案 1 :(得分:2)
您可能需要使用对象或数组来了解变量的名称:
var obj = {
'a':11,
'b':23,
'c':8
};
var biggest = '';
for (var name in obj) {
if(biggest !== '' && obj[name] > obj[biggest]) {
biggest = name;
} else if (biggest === '') {
biggest = name;
}
}
return biggest;
答案 2 :(得分:0)
如果它是您需要的最小值和最大值的变量名称,那么使用ECMA5方法可以执行类似的操作。您需要使用object
来获取名称而不是单个变量。
的Javascript
function getNamesSmallestToLargestByValue(thisObj) {
return Object.keys(obj).map(function (name) {
return [name, this[name]];
}, thisObj).sort(function (x, y) {
return x[1] - y[1];
}).map(function (element) {
return element.shift();
});
}
var obj = {
'a': 11,
'b': 23,
'c': 8
};
console.log(getNamesSmallestToLargestByValue(obj));
输出
["c", "a", "b"]
上
如您所见,返回的数组将为您提供按其关联值从最小到最大排序的名称。因此,第一个元素是最小值的名称,最后一个元素是最大值的名称。
答案 3 :(得分:0)
var x = parseInt(document.getElementById('sco').value);
var y = parseInt(document.getElementById('sce').value);
var z = parseInt(document.getElementById('scm').value);
if (x > y && x > z)
{
document.getElementById('yo').innerHTML = 'x is greater';
}
else if (y > x && y > z){
document.getElementById('yo').innerHTML = 'y is greater';
}
else{
document.getElementById('yo').innerHTML = 'z is greater';
}