Avec des exercices corrigés en JavaScript, vous pratiquerez divers concepts du langage JavaScript. Vous commencerez par des exercices JavaScript de base à des exercices plus avancés. La solution est fournie pour chaque exercice. Vous devez essayer de résoudre chaque problème par vous-même avant de vérifier la solution. Si vous avez des questions concernant chaque problème, nous vous encourageons à les poster sur notre forum.
Exercice 1:
Créez une fonction qui prend une chaîne et renvoie TRUE ou FALSE, selon que les caractères sont en ordre ou non.
// Fonction permettant de vérifier si les caractères
// d'une chaîne sont dans l'ordre croissant
function checkOrder(str) {
// Transforme la chaîne en tableau de caractères,
// trie les caractères dans l'ordre croissant,
// puis reconstruit la chaîne
const sortedStr = str.split("").sort().join("");
// Compare la chaîne originale avec la chaîne triée si
// Elles sont identiques, les caractères sont déjà dans l'ordre
return str === sortedStr;
}
// Test de la fonction avec différents exemples
console.log(checkOrder("abc"));
console.log(checkOrder("zyx"));
console.log(checkOrder("123"));
console.log(checkOrder("aabbcc"));
Exercice 2:
Créez une fonction qui ajoute une sous-chaîne à la fin de chaque chaîne du tableau.
// Fonction permettant d'ajouter une sous-chaîne
// à la fin de chaque élément du tableau
function addEnd(tableau, fin) {
// La méthode map() parcourt chaque mot du tableau
// et ajoute la sous-chaîne "fin" à sa fin
return tableau.map(mot => mot + fin);
}
// Test de la fonction avec différents exemples
console.log(addEnd(["accept", "achet", "adapt"], "able"));
console.log(addEnd(["aim", "act", "ard"], "ant"));
Exercice 3:
Créez une fonction qui vérifie si l’argument est un entier ou une chaîne. Renvoie « int » s’il s’agit d’un entier et « string » s’il s’agit d’une chaîne.
// Fonction permettant de vérifier si une valeur
// est un entier ou une chaîne de caractères
function checkIntOrStr(x) {
// Vérifie si la valeur est un nombre entier
if (Number.isInteger(x)) {
// Retourne "int" si la valeur est un entier
return "int";
}
// Vérifie si la valeur est une chaîne de caractères
if (typeof x === "string") {
// Retourne "string" si la valeur est une chaîne
return "string";
}
// Retourne une chaîne vide si le type
// n'est ni un entier ni une chaîne
return "";
}
// Test de la fonction avec différents exemples
console.log(checkIntOrStr("WayToLearnX"));
console.log(checkIntOrStr(1));
console.log(checkIntOrStr("250"));
Exercice 4:
Créez une fonction qui prend une phrase et renvoie le nombre de mots.
Exemple:
count("Welcome to WayToLearnX") ➞ 3
count("Hello World") ➞ 2
count("I am going to my school") ➞ 6
// Fonction permettant de compter le nombre de mots dans une phrase
function count(str) {
// Supprime les espaces inutiles au début et à la fin
// puis sépare la phrase en plusieurs mots
const mots = str.trim().split(/\s+/);
// Retourne le nombre de mots
return str.trim() === "" ? 0 : mots.length;
}
// Test de la fonction avec différents exemples
console.log(count("Welcome to WayToLearnX"));
console.log(count("Hello World"));
console.log(count("I am going to my school"));
Exercice 5:
Créez une fonction récursive qui renvoie le total de tous les nombres impairs jusqu’à n(inclus). n sera donné comme un nombre impair.
// Fonction récursive permettant de calculer
// la somme de tous les nombres impairs jusqu'à n
function sommeImpair(n) {
// Condition d'arrêt de la récursion :
// si n vaut 1, la somme est égale à 1
if (n === 1) {
return 1;
}
// Ajoute n à la somme des nombres impairs
// précédents en appelant la fonction avec n - 2
return n + sommeImpair(n - 2);
}
// Test de la fonction avec différents exemples
console.log(sommeImpair(3));
console.log(sommeImpair(7));
console.log(sommeImpair(59));
Exercice 6:
Créez une fonction qui renvoie TRUE si la chaîne passée en paramètre ne contient que des lettres majuscules ou minuscules.
// Fonction permettant de vérifier si tous les caractères
// sont en majuscules ou tous en minuscules
function isSameCase(str) {
// Vérifie si la chaîne est entièrement en majuscules
// OU entièrement en minuscules
return str.toUpperCase() === str ||
str.toLowerCase() === str;
}
// Test de la fonction avec différents exemples
console.log(isSameCase("WayToLearnX"));
console.log(isSameCase("waytolearnx"));
console.log(isSameCase("WAYTOLEARNX"));
Exercice 7:
Écrivez une fonction JavaScript appelée mulByLen() qui reçoit un tableau de nombres. La fonction doit multiplier chaque élément du tableau par la longueur du tableau, puis retourner le nouveau tableau obtenu.
// Fonction permettant de multiplier chaque élément
// par la longueur du tableau
function mulByLen(tab) {
// La méthode map() parcourt chaque élément du tableau
// et le multiplie par la longueur du tableau
return tab.map(x => x * tab.length);
}
// Test de la fonction avec différents exemples
console.log(mulByLen([1, 1, 1]));
console.log(mulByLen([1, 2, 3]));
console.log(mulByLen([0, 0, 0, 0, 2]));
Exercice 8:
Écrivez une fonction JavaScript appelée deleteNull() qui reçoit un tableau et retourne un nouveau tableau dans lequel toutes les valeurs null ont été supprimées. Les autres valeurs, y compris 0, doivent être conservées.
// Fonction permettant de supprimer toutes les valeurs nulles
// d'un tableau
function deleteNull(tab) {
// La méthode filter() conserve uniquement les éléments
// qui ne sont pas strictement égaux à null
return tab.filter(i => i !== null);
}
// Test de la fonction avec différents exemples
console.log(deleteNull(["Alex", null, "Emily", "Bob"]));
console.log(deleteNull([0, 1, null, 2, null, 3]));
console.log(deleteNull([null, null, null]));
Exercice 9:
Une année bissextile a un jour ajouté à février pour être synchronisée avec l’année saisonnière. Une année bissextile apparaît avec une fréquence régulière, déterminée par la règle ci-dessous:
Une année doit être divisible par 400 ou divisible par 4 et non pas 100.
Vous devez implémenter une fonction qui renvoie TRUE si c’est une année bissextile, ou FALSE si ce n’est pas le cas.
Exemple:
bissextile(2020) ➞ true
// Divisé par 4 et non par 100.
bissextile(1200) ➞ false
// Divisé par 4, mais également divisé par 100.
bissextile(2000) ➞ true
// Divisé par 400.
// Fonction permettant de vérifier si une année est bissextile
function bissextile(year) {
// Une année est bissextile si elle est divisible par 400
// OU si elle est divisible par 4 mais pas par 100
return year % 400 === 0 ||
(year % 4 === 0 && year % 100 !== 0);
}
// Test de la fonction avec différents exemples
console.log(bissextile(2020));
console.log(bissextile(1200));
console.log(bissextile(2000));
QCM Javascript – Partie 1QCM sur Javascript avec des réponses pour la préparation des tests techniques, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus