Pages

Projet

const COMPAGNIES = [

    

        name: "HAL",

        ranges: [[7615, 7800], [65952, 65953], [119296, 200000]],

    },

    {

        name: "GOUGLE",

        ranges: [[7936, 7958], [7960, 7966], [65952, 65953], [119290, 200000]],

    },

    {

        name: "YOUTOUBE",

        ranges: [[65856, 66000], [65952, 65953], [119000, 200000]],

    },

    {

        name: "ECRY",

        ranges: [[125184, 126000], [125264, 127000], [125278, 126100]]

    },

    {

        name: "DUPONTco",

        ranges: [[66864, 66916], [66927, 66928]]

    }

]

 

Compagnie.ranges est un tableau donnant les salaires et leurs variations (le second chiffre tient compte des primes).

 

    Plus en détail, les propriétés de l'objet compagnie[1] sont :

name: "HAL", // nom de la compagnie

ranges: [[7615, 7800], [65952, 65953], [119296, 200000]], // trois salaires

[7615, 7800] // [salaireMin, Salaire avec prime]


Questions

  1. Ecrire une fonction donnant le nom d'une compagnie dont le salaire appartient à une catégorie.

Par exemple pour 120000 on peut avoir  

"HAL" car Hal posséde un salaire variant de 119296 à 200000


SOLUTION

Solution

 

  1. Ecrire une fonction qui donne l'ensemble des compagnies dont le montant appartient à une catégorie de salaires.

Par exemple pour le montant 120000 on peut avoir (en gras la catégorie qui valide la condition d'appartenance :

[{"name":"HAL","ranges":[[7615,7800],[65952,65953],[119296,200000]]},

{"name":"GOUGLE","ranges":[[7936,7958],[7960,7966],[65952,65953],[119290,200000]]},

{"name":"YOUTOUBE","ranges":[[65856,66000],[65952,65953],[119000,200000]]}]


Solution

 

  1. Ecrire une fonction donnant le nom des compagnies dont tous salaires encadre une valeur.

Par exemple pour 125278 seul ECRY a tous les salaires validant la condition

[{"name":"ECRY","ranges":[[125184,126000],[125264,127000],[125278,126100]]}]

 

  1. Donner les compagnies triées par écart de salaires (gap).

[{"name":"DUPONTco","gap":63},{"name":"ECRY","gap":94},{"name":"YOUTOUBE","gap":53144},{"name":"GOUGLE","gap":111354},{"name":"HAL","gap":111681}]

 

  1. Donner les compagnies triées par salaire moyen.

[{"name":"GOUGLE","average":50285},{"name":"HAL","average":64288},{"name":"DUPONTco","average":66896},{"name":"YOUTOUBE","average":83603},{"name":"ECRY","average":125242}]

 

Help

Pour les dernières questions, pensez à générer une structure contenant les infos utiles au travail des fonctions d'affichage.


Par exemple pour la compagnie "Dupont co"


On peut calculer les valeurs : min,max,gap=(max-min),... et les stocker dans une propriétés infos (par exemple).



Et ainsi de suite sur tous les éléments du tableau. L'idée est de faire l'ensemble de ces calculs en une seule passe.


Voici les valeurs pour "ECRY"

Cette structure sera stockée dans le tableau 

COMPAGNIES.infos = transforme();