Revision

lien

Reduce : sort inside

Analyser le code suivant.


  1. const posts = [

  2.   {id: "moi", upVotes: 20},

  3.   {id: "toi", upVotes: 89},

  4.   {id: "lui", upVotes: 1},

  5.   {id: "eux", upVotes: 123},];


  6. let [a,b] = posts.reduce((acc, cur) =>
  7.             [cur, ...acc]
  8.                 .sort((a,b) => b.upVotes - a.upVotes)
  9.                 .slice(0,2)
  10.              ,[]);



Que valent a et b. On pourra compléter le schéma suivant :


some

Nous connaissons la méthode some.

La méthode some() teste si au moins un élément du tableau passe le test implémenté par la fonction fournie. Elle renvoie un booléen indiquant le résultat du test.


  1. const T = [41, 23, 65, 43, 57],
  2.    test = (element) => element % 2;

  3. console.log(t.some(test));

Que recherchons nous dans ce tableau avec la fonction test ?

Modifier le code précédent, sans utiliser la négation, pour tester si un élément du tableau est pair.

Donner le code de la fonction some qui teste si au moins un élément du tableau vérifie la fonction test.
  1. const T = [41, 23, 65, 43, 57];
  2.    test = (element) => element % 2;

  3. console.log(some(T,test));

Pourrait on appliquer de telle fonction à des tableaux de vidéos ?

Entrainement


Soit la BD suivante ( code ) 

const COMPAGNIES = [
    {
        name: "DUPONTco",
        ranges: [66864, 66928],
    },
    {
        name: "HAL",
        ranges: [7800, 65952, 200000],
    },
    {
        name: "GOUGLE",
        ranges: [7936, 65952, 119290],
    },
    {
        name: "YOUTOUBE",
        ranges: [65856, 119000, 200000],
    },
    {
        name: "ECRY",
        ranges: [126000,125264, 127000,125278, 126100],
    }   
]

Trouver les compagnies qui ont au moins un salaire au dessus de 120000 €.

Trouver les compagnies qui ont tous leur salaire au dessus de 120000 €.