查找哪个变量的最小值

时间:2019-06-20 05:25:08

标签: javascript

我有以下三个变量

x = 3;
y = 1;
z = 2;

如何获得最小的一个?是y。

现在我像下面这样

if(x < y && x < z)
{
var smallest = x;
}
else if(y < x && y < z)
{
var smallest = y;
}
else if(z < x && z < y)
{
var smallest = z;
}

还有其他聪明的方法吗?

P.S:我需要获取该变量名。

8 个答案:

答案 0 :(得分:3)

在这种情况下,Math.min可能是不错的选择

x = 3;
y = 1;
z = 2;

console.log(Math.min(x, y, z))

如果您也想要变量名,则可以使用ans

中所述的对象代替

var obj = {
  "x": 3,
  "y": 1,
  "z": 2
};

var smallest = '';
for (var key in obj) {
  if (smallest !== '' && obj[key] < obj[smallest]) {
    smallest = key;
  } else if (smallest === '') {
    smallest = key;
  }
}
console.log("smallest---", smallest);

答案 1 :(得分:1)

var smallest_value = Math.min( x, y, z);

答案 2 :(得分:0)

尝试一下

SELECT * into public."NewTable" FROM public."ExistingTable";

答案 3 :(得分:0)

您可以通过这种方式拥有

Math.min(x,y,z,..)

如果您在应用程序中设置了大数据集,则下面的内容可能会很有用。 然后您可以通过这种方式使用

var numArray = [1, 2, 3]
Math.min.apply(Math, numArray)

答案 4 :(得分:0)

以我认为最好的方式查看输入内容是您自己的代码。
但是,如果输入是array或某些dictionary的形式,则只需循环它们即可轻松找到smallest number并可以更新索引(如果是数组),或者如果是key,则获取dictionary
例如,
array = (1,2,3,0,4,5,6) smallest = 0 and its Index=4 now you get the index then you can get the variable name, say var1 = Index 1, var2 = Index 2 and so on..

您只需要进行一些更改即可完成工作。

如果是字典,您可以直接获取密钥。

答案 5 :(得分:0)

您可以简单地使用Math.min(value1,value2,.....),但是如果仍然要使用常规方法,则可以单击下面的链接查看编写的代码。

let x = 100,y=200,z=30,min = ''; min = x < y && x < z ? 'x = '+x :y<z ?'y = '+y : 'z = '+z;

https://www.w3schools.com/code/tryit.asp?filename=G58KSEBOL67M

答案 6 :(得分:0)

尝试一下:

let x = 3, y = 1, z = 2;
let minArr = Object.entries({x, y, z}).sort((arr1, arr2) => {
    return arr1[1] - arr2[1];
}).shift();

console.log(`min: key is "${minArr[0]}", value is ${minArr[1]}`);

答案 7 :(得分:0)

我认为这就是您想要的。

var x = 6;
var y = 7;
var z = 4;

for(o in window){ 
  if(window[o] === Math.min(x,y,z)){
    console.log(o);
   }
}