我正在尝试从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.如何进行此操作?
答案 0 :(得分:2)
将它们放入数组中,然后按降序对数组进行排序。 排序后,您将获得前两个成员所需的值。
答案 1 :(得分: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
进一步阅读:
答案 2 :(得分:0)
让我们假设您将数据作为值数组传递,也就是:
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
答案 3 :(得分:0)
Vanco在代码中说了什么:
var myarray=[1, 4, 2, 5, 2, 1, 8]
myarray.sort().reverse();
alert(myarray[0] + myarray[1]);