Exercice JS - Tableaux
Les exercices suivants sont proposés afin de vous familiariser avec la syntaxe JavaScript et le paradigme de programmation fonctionnelle. Ne manquez pas de consulter les ressources ci-dessous !
Ressources
Tableaux de nombres
À partir du tableau de nombres suivant :
const numbers = Object.freeze([3, 14, 15, 92 ,65, 35, 89, 79, 32, 38]);
Réalisez les fonctionnalités ci-dessous. La structure de données initiale ne doit pas être modifiée (structure immutable). Utilisez des méthodes qui retournent un nouveau tableau, comme toSorted, plutôt que des méthodes qui modifient le tableau d'origine, comme sort. Vos solutions doivent rester fonctionnelles même si le contenu du tableau initial diffère.
- Afficher tous les nombres dans la console
- Retourner un tableau avec les valeurs doublées
- Retourner un tableau ne contenant que les valeurs impaires
- Retourner un tableau ne contenant pas le premier élément
- Retourner un tableau ne contenant pas le dernier élément
- Retourner la somme des nombres
- Retourner le plus grand nombre
- Indiquer si le tableau contient au moins un nombre multiple de 9
- Indiquer si le tableau ne contient que des nombres positifs
- Retourner un tableau contenant d'abord les nombres pairs, puis les nombres impairs, en conservant leur ordre relatif dans chaque groupe
Tableaux de chaînes de caractères
À partir du tableau de mots suivant :
const strings = Object.freeze(["Sator", "Arepo", "Tenet", "Opera", "Rotas"]);
Réalisez les fonctionnalités ci-dessous. La structure de données initiale ne doit pas être modifiée.
- Retourner tous les mots contenant au moins un r
- Indiquer si tous les mots font 5 lettres
- Retourner un nouveau tableau contenant le mot Lorem au début, suivi des mots du tableau initial
- Retourner un nouveau tableau contenant les mots du tableau initial, suivis du mot Ipsum
- Retourner un tableau en remplaçant le mot du milieu par le mot radar (si le tableau a un nombre de mots pair, remplacer le mot situé à l'indice juste avant le milieu)
- Retourner la concaténation de tous les mots
- Retourner le mot qui vient en premier selon l'ordre alphabétique, sans modifier le tableau initial (localeCompare et toSorted peuvent être utiles)
- Concaténer les chaînes dans l'ordre de leurs indices, convertir le résultat en minuscules, puis indiquer s'il forme un palindrome, c'est-à-dire s'il se lit de la même manière dans les deux sens
Tableaux d'objets
À partir du tableau suivant, qui représente des cercles dans un plan :
const circles = Object.freeze([
{x: 20, y: 10 , r: 10, color: "red"},
{x: 10, y: 10 , r: 20, color: "green"},
{x: 30, y: 25 , r: 15, color: "blue"},
{x: 10, y:5 , r: 5, color: "red"}
]);
circles.forEach(Object.freeze);
Réalisez les fonctionnalités ci-dessous. La structure de données initiale ne doit pas être modifiée.
- Retourner toutes les aires des cercles
- Retourner tous les cercles de couleur rouge
- Retourner tous les centres des cercles sous la forme d'objets
{x, y} - Retourner un nouveau tableau de cercles en ajoutant 10 à leur propriété
x, tout en conservant leurs propriétésy,retcolorinchangées