簡體   English   中英

JavaScript:從4個可能的值中取最高的2個數值

[英]JavaScript: Taking the highest 2 numerical values out of a series of 4 possible values

我正在嘗試從4個可能的變量中取出最高的兩個值,並將它們加在一起,而忽略較小的兩個值。 我的值將介於1到5之間。

因此,例如,如果我有變量:

Trait 1 = 3
Trait 2 = 3
Trait 3 = 2
Trait 4 = 1

該腳本應該選擇3和3,但不能選擇2和1。如果我更改周圍的值,則可以:

Trait 1 = 4
Trait 2 = 3
Trait 3 = 1
Trait 4 = 5

該腳本應使用4和5,但不能使用3和1。我該怎么做?

將它們放在數組中,然后對數組降序排序。 排序后,您將在前兩個成員中擁有所需的值。

您可能要考慮這種方法:(與其他答案相同)

var Trait1 = 4;
var Trait2 = 3;
var Trait3 = 1;
var Trait4 = 5;

var sorted = [Trait1, Trait2, Trait3, Trait4].sort(function (a, b) { 
   return b - a; 
});

console.log(sorted[0] + sorted[1]);    // returns 9

進一步閱讀:

假設您將數據作為值數組(也稱為:)傳遞:

var array = [4, 3, 1, 5];

array.sort(); // becomes [1, 3, 4, 5]

var item1 = newArray[array.length - 1];
var item2 = newArray[array.length - 2];

只要排序就可以了。 這是有關排序的頁面: http : //www.javascriptkit.com/javatutors/arraysort.shtml

Vanco在代碼中說的話:

var myarray=[1, 4, 2, 5, 2, 1, 8]
myarray.sort().reverse();
alert(myarray[0] + myarray[1]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM