Comment obtenir le maximum de cinq valeurs d'un tableau en version javascript?

Bonjour, je suis nouveau sur angularjs, ici j'ai besoin des cinq valeurs les plus élevées dans ce tableau au lieu d'une seule valeur max. J'avais essayé mais je n'obtiens qu'une seule valeur maximale.

Voici mon code.

var arr = [3, 4, 12, 1, 0, 5,22,20,18,30,52]; var max = arr[0]; var maxValues = []; for (var k = 1; k < arr.length; k++) { if (arr[k] > max) { max = arr[k]; // output is 52 //do some thing to push max five values ie 52,30,22,20,18 } } console.log("Max is: " + max); console.log("total five max values is: " + maxValues);expected output[52,30,22,20,18]; 

Vous pouvez le faire comme ceci:

 var arr = [3, 4, 12, 1, 0, 5,22,20,18,30,52]; arr = arr.sort(function (a, b) { return a - b; }); arr = arr.slice(Math.max(arr.length - 5, 0)) console.log(arr); 

Vous pouvez le trier par ordre décroissant, puis récupérer n valeurs à l'aide de array.slice

 function getMaxValues(arr, n){ return arr.sort(function(a,b){ return ba }).slice(0,n); } var arr = [3, 4, 12, 1, 0, 5,22,20,18,30,52]; console.log(getMaxValues(arr, 5)) console.log(getMaxValues(arr, 3)) 

Avec angulaire, vous pouvez utiliser limitTo .

Dans la liaison de modèles HTML

 {{ limitTo_expression | limitTo : limit : begin}} 

En JavaScript

 $filter('limitTo')(input, limit, begin)