Obtiens l'objet du tableau par la propriété max

J'ai besoin d'exécuter en JavaScript ce qui, dans C #, ressemblerait à ceci:

var latest = versions.OrderByDescending( v => v.VersionNo).First(); 

Je veux que cela se fasse via la méthode Math.max et, bien qu'il s'agisse d'une tâche insignifiante, je suis en difficulté pour le corriger. J'ai traversé le Web et plusieurs questions ici, mais je ne peux pas le faire fonctionner.

Donc, fondamentalement, vous voulez trouver l'objet dans les versions avec la plus haute VersionNo .

On dirait un travail pour Array#reduce :

 var latest = versions.reduce(function(l, e) { return e.VersionNo > l.VersionNo ? e : l; }); 
 var versions = [ {VersionNo: 3}, {VersionNo: 7}, {VersionNo: 1} ]; var latest = versions.reduce(function(l, e) { return e.VersionNo > l.VersionNo ? e : l; }); console.log(latest); 

Vous pouvez obtenir la valeur maximale d'une propriété dans un objet avec les éléments suivants

 var latest = (Math.max.apply(Math, versions.map(function(v) { return v.VersionNo; }))); 

Documentation sur .map() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

Il y a beaucoup de réponses à cela. Comme vous n'avez pas spécifié, je peux vous montrer plusieurs options:

  1. Jquery.grep
  2. .Carte
  3. Math.Max