我需要找到哪個變量具有最大值。檢測變量的最大值而不使用數組?
通常我會做這樣的事情:
var Dimensions = [Height, Length, Depth];
var biggestSide = Math.max.apply(Math, Dimensions);
但我需要做的事情與在此之後的變量。
反正是有標識與最大值的變量var而不用使用數組或一系列if
報表?
我需要找到哪個變量具有最大值。檢測變量的最大值而不使用數組?
通常我會做這樣的事情:
var Dimensions = [Height, Length, Depth];
var biggestSide = Math.max.apply(Math, Dimensions);
但我需要做的事情與在此之後的變量。
反正是有標識與最大值的變量var而不用使用數組或一系列if
報表?
你可以使用一個switch聲明
var biggestSide = Math.max(Height, Length, Depth);
switch (biggestSide) {
case Height:
...
break;
case Length:
...
break;
case Depth:
...
break;
}
閱讀您的評論後:
@mplungjan - 簡而言之,瓦爾高度,長度和寬度從陣列本身的最高值。我需要確定具有最大值的數組,以便可以使用推送到該數組的變量進行操作。 - MeltingDog
我覺得這樣的事情是你所追求的
var maxHeight = Math.max.apply(Math, Height);
var maxLength = Math.max.apply(Math, Length);
var maxDepth = Math.max.apply(Math, Depth);
var biggestSide = Math.max(maxHeight, maxLength, maxDepth);
switch (biggestSide) {
case maxHeight:
// Do something with Height
break;
case maxLength:
// Do something with Length
break;
case maxDepth:
// Do something with Depth
break;
}
注意與ES6可以使用spread operator,而不是應用功能:
var maxHeight = Math.max(...Height);
Math.max()
接受盡可能多的值,如你所願。你不需要這樣的數組:
var biggestSide = Math.max(Height, Length, Depth);
_need在this_之後對變量做些什麼 - 爲什麼會阻止你使用Math.max路由? – mplungjan
你想做什麼? 「識別」的含義是什麼?你能擴展你的問題嗎? – Amit
@mplungjan - 簡而言之,增加高度,長度和寬度以及陣列本身的最大值。我需要確定具有最大值的數組,以便可以使用推送到該數組的變量進行操作。 – MeltingDog