Javascript 1
Correction Exercice 1 : Additionner 42
let numbers = [20, 30, 42, 66, 99];
// 1. En utilisant while
let i = 0;
let resWhile = [];
while (i < numbers.length) {
resWhile.push(numbers[i] + 42);
i++;
}
// 2. En utilisant for
let resFor = [];
for (let j = 0; j < numbers.length; j++) {
resFor.push(numbers[j] + 42);
}
// 3. En utilisant for of
let resForOf = [];
for (let number of numbers) {
resForOf.push(number + 42);
}
// 4. En utilisant map()
let resMap = numbers.map((number) => number + 42);
Correction Exercice 2 : Calculer la somme
let numbers = [20, 30, 42, 66, 99];
// 1. En utilisant for of
let sumForOf = 0;
for (let number of numbers) {
sumForOf += number;
}
// 2. En utilisant reduce()
let sumReduce = numbers.reduce(
(accumulator, currentValue) => accumulator + currentValue,
0
);
Correction Exercice 3 : Afficher les valeurs
let colors = ["blue", "red", "green", "yellow", "cyan"];
// En utilisant forEach()
colors.forEach((color) => console.log(color));
Correction Exercice 4 : Trouver un utilisateur spécifique
let users = [
{ name: "Julien", age: 31 },
{ name: "Louise", age: 28 },
{ name: "Bastien", age: 22 },
{ name: "Raphaël", age: 28 },
{ name: "Alexandre", age: 42 },
{ name: "Julien", age: 55 },
];
// En utilisant find()
let julien31 = users.find((user) => user.name === "Julien" && user.age === 31);
Correction Exercice 5 : Filtrer les moins de 26 ans
let users = [
{ name: "Julien", age: 26 },
{ name: "Louise", age: 24 },
{ name: "Bastien", age: 22 },
{ name: "Raphaël", age: 28 },
{ name: "Alexandre", age: 42 },
{ name: "Julien", age: 31 },
];
// En utilisant filter()
// Note: On demande strictement moins de 26 ans, donc 26 n'est pas inclus
let youngUsers = users.filter((user) => user.age < 26);
Correction Exercice 6 : Récupérer uniquement les prénoms
let users = [
{ name: "Julien", age: 31 },
{ name: "Louise", age: 24 },
{ name: "Bastien", age: 22 },
];
// En utilisant map()
let names = users.map((user) => user.name);
Correction Exercice 7 : Vérifier si au moins un a plus de 40 ans
let users = [
{ name: "Julien", age: 31 },
{ name: "Louise", age: 24 },
{ name: "Alexandre", age: 42 },
];
// En utilisant some()
let hasSenior = users.some((user) => user.age > 40);
Correction Exercice 8 : Vérifier si tout le monde est majeur
let users = [
{ name: "Louise", age: 24 },
{ name: "Bastien", age: 22 },
{ name: "Raphaël", age: 28 },
];
// En utilisant every()
let allAdults = users.every((user) => user.age >= 18);
Correction Exercice 9 : Trier les utilisateurs
let users = [
{ name: "Julien", age: 31 },
{ name: "Louise", age: 24 },
{ name: "Bastien", age: 22 },
];
// 1. En utilisant sort() (Attention : modifie le tableau original)
let sortedByAge = [...users].sort((a, b) => a.age - b.age);
// 2. En utilisant toSorted() (Nouveauté ES2023 : ne modifie pas l'original)
let toSortedByAge = users.toSorted((a, b) => a.age - b.age);
// 3. En ordre décroissant
let sortedDescending = users.toSorted((a, b) => b.age - a.age);
Correction Exercice 10 : Chaînage (Filter & Map)
let users = [
{ name: "Julien", age: 31 },
{ name: "Louise", age: 24 },
{ name: "Bastien", age: 22 },
{ name: "Alexandre", age: 42 },
];
// Récupérer noms (< 30 ans) en majuscules sans variable intermédiaire
let result = users
.filter((user) => user.age < 30)
.map((user) => user.name.toUpperCase());
console.log(result); // ["LOUISE", "BASTIEN"]