使用javascript或PHP查找最大X数之和

使用javascript或PHP查找最大X数之和,javascript,php,html,Javascript,Php,Html,我有一个php响应的五个数字列表,如下所示:- <div id="items"> <span class="number" id="one"><?php echo $one; //result = 1?> </span> <span class="number" id="two"><?php echo $two; //result = 2?> </span> <span class="number" i

我有一个php响应的五个数字列表,如下所示:-

<div id="items">
<span class="number" id="one"><?php echo $one; //result = 1?> </span>

<span class="number" id="two"><?php echo $two; //result = 2?> </span>

<span class="number" id="three"><?php echo $three; //result = 3?> </span>

<span class="number" id="four"><?php echo $four; //result = 4?> </span>

<span class="number" id="five"><?php echo $five; //result = 5?> </span>

<div id="result"></div>
</div>
我想有一个结果,最好的三个分数显示在分区

例如,在我的问题中,我希望我的结果是12


我有一个简单的方法。可能使用javascript甚至PHP?

将它们转储到数组中。对数组进行排序。把前三名加起来

<?php 
    $arr = array($one,$two,$three,$four,$five);
    arsort($arr);                    // sort descending, highest first
    $tre = array_slice($arr, 0, 3);  // first three
    $sum = array_sum($tre);          // summed up
?>

<div id="result"><?php echo $sum; ?></div>
var nums =  [<? echo $one ?>,<? echo $two ?>,<? echo $three ?>,<? echo $four ?>,<? echo $five ?>]
nums.sort()
var resultIs = nums[2]+nums[3]+nums[4];

document.getElementById("result").innerHTML = resultIs;

有必要对数组进行排序,因为您只需要3个最好的数组。这样,您可以按任意顺序发送它们,您将很容易找到所需的。

将它们转储到一个数组中。对数组进行排序。把前三名加起来

var nums =  [<? echo $one ?>,<? echo $two ?>,<? echo $three ?>,<? echo $four ?>,<? echo $five ?>]
nums.sort()
var resultIs = nums[2]+nums[3]+nums[4];

document.getElementById("result").innerHTML = resultIs;

有必要对数组进行排序,因为您只需要3个最好的数组。通过这种方式,您可以按任何顺序发送它们,您将很容易找到您想要的。

这就是我要做的:

$nums = [$one, $two, $three, $four, $five];

sort($nums);
$last_three = array_slice($nums, -3);
$result = array_sum($last_three);

echo $result;

这就是我要做的:

$nums = [$one, $two, $three, $four, $five];

sort($nums);
$last_three = array_slice($nums, -3);
$result = array_sum($last_three);

echo $result;

仅Javascript解决方案,无PHP

var sum = Array.prototype.map.call(
  document.querySelectorAll("span.number"),
  function(element) {
    return parseInt(element.innerHTML, 10);
  }
).sort(function(a, b) {
    return b - a
}).slice(0,3).reduce(function(sum, newValue) {
    return sum + newValue
}, 0);

document.querySelector("div#result").innerHTML = sum;

仅Javascript解决方案,无PHP

var sum = Array.prototype.map.call(
  document.querySelectorAll("span.number"),
  function(element) {
    return parseInt(element.innerHTML, 10);
  }
).sort(function(a, b) {
    return b - a
}).slice(0,3).reduce(function(sum, newValue) {
    return sum + newValue
}, 0);

document.querySelector("div#result").innerHTML = sum;

那么你只想要这五个数字中最高的一个?那么你想要最好的三个的和?@adeneo一个最好的三个的和numbers@CodeGodie是的,是最好的三个。只是出于好奇,一美元、二美元等从哪里来?似乎在这一点之前,这个求和可能更容易。所以你只想要这五个数中的最高数?那么你想要最好的三个数的和?@adeneo一个最好的三个数的和numbers@CodeGodie是的,是最好的三个。只是出于好奇,一美元、二美元等从哪里来?似乎在这之前,这个总数可能更容易完成。