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:
Écrivez une fonction JavaScript appelée nbrPaire() qui reçoit un entier n et retourne un tableau contenant tous les nombres pairs compris entre 1 et n inclus.
// Fonction permettant de trouver tous les nombres pairs
// compris entre 1 et n
function nbrPaire(n) {
// Tableau qui contiendra les nombres pairs trouvés
let paire = [];
// Parcourt tous les nombres de 1 jusqu'à n
for (let i = 1; i <= n; i++) {
// Vérifie si le nombre est pair
// Un nombre est pair si son reste lors de la division
// par 2 est égal à 0
if (i % 2 === 0) {
// Ajoute le nombre pair dans le tableau
paire.push(i);
}
}
// Retourne le tableau contenant tous les nombres pairs
return paire;
}
// Test de la fonction avec différents exemples
console.log(nbrPaire(6));
console.log(nbrPaire(4));
console.log(nbrPaire(2));
Exercice 2:
Écrivez une fonction JavaScript appelée isSame() qui renvoie TRUE si tous les caractères d'une chaîne sont identiques, sinon renvoie FALSE.
// Fonction permettant de vérifier si tous les caractères
// d'une chaîne sont identiques
function isSame(str) {
// Transforme la chaîne en tableau de caractères
// puis crée un Set qui supprime automatiquement les doublons
const caracteres = new Set(str);
// Si le Set contient un seul élément,
// tous les caractères de la chaîne sont identiques
return caracteres.size === 1;
}
// Test de la fonction avec différents exemples
console.log(isSame("bbbbbb"));
console.log(isSame("abababab"));
console.log(isSame("111111"));
Exercice 3:
Écrivez une fonction JavaScript appelée miroir() qui reçoit un tableau de nombres et retourne un nouveau tableau en miroir. Le tableau retourné doit contenir :
tous les éléments du tableau original ;
puis les éléments précédents dans l'ordre inverse, sans répéter le dernier élément.
// Fonction permettant de transformer un tableau en miroir
function miroir(tab) {
// Copie le tableau puis récupère tous les éléments
// sauf le dernier afin d'éviter de le répéter
const partie = tab.slice(0, -1);
// Inverse l'ordre de la partie récupérée
partie.reverse();
// Combine le tableau original avec sa partie inversée
return [...tab, ...partie];
}
// Test de la fonction avec différents exemples
console.log(miroir([1, 2, 3]));
console.log(miroir([9, 8, 7]));
console.log(miroir([10, 20]));
Exercice 4:
Écrivez une fonction JavaScript récursive appelée somme() qui reçoit un nombre naturel n et retourne la somme des n premiers nombres naturels.
// Fonction récursive permettant de calculer
// la somme des n premiers nombres naturels
function somme(n) {
// Condition d'arrêt :
// lorsque n atteint 0, la somme vaut 0
if (n === 0) {
return 0;
}
// Ajoute n à la somme des nombres précédents
// en appelant récursivement la fonction avec n - 1
return n + somme(n - 1);
}
// Test de la fonction avec différents exemples
console.log(somme(3));
console.log(somme(2));
console.log(somme(10));
Exercice 5:
Écrivez une fonction JavaScript appelée getCategory() qui reçoit une URL sous forme de chaîne de caractères et retourne le nom de la catégorie présente dans l'URL.
// Fonction permettant d'extraire la catégorie depuis une URL
function getCategory(url) {
// Sépare l'URL à chaque caractère "/"
const parties = url.split("/");
// La catégorie se trouve à l'index 3
// dans une URL de la forme :
// https://waytolearnx.com/categorie/
return parties[3];
}
// Test de la fonction avec différents exemples
console.log(getCategory("https://waytolearnx.com/html/"));
console.log(getCategory("https://waytolearnx.com/css/"));
console.log(getCategory("https://waytolearnx.com/javascript/"));
Exercice 6:
Écrivez une fonction JavaScript appelée isObjEmpty() qui renvoie TRUE si un objet est vide, sinon renvoie FALSE.
// Fonction permettant de vérifier si un objet est vide
function isObjEmpty(obj) {
// Object.keys() retourne un tableau contenant
// les clés (propriétés) de l'objet
const cles = Object.keys(obj);
// Si le tableau des clés est vide, l'objet est vide
return cles.length === 0;
}
// Test de la fonction avec différents exemples
console.log(isObjEmpty({ a: 1, b: 2 }));
console.log(isObjEmpty({ a: 1 }));
console.log(isObjEmpty({}));
Exercice 7:
Écrivez une fonction qui récupère les n derniers éléments d'un tableau.
// Fonction permettant de récupérer les n derniers
// éléments d'un tableau
function lastNitem(t, n) {
// Vérifie si n ne dépasse pas la longueur du tableau
if (n > t.length) {
// Retourne "invalide" si n est trop grand
return "invalide";
}
// Retourne les n derniers éléments du tableau
return t.slice(t.length - n);
}
// Test de la fonction avec différents exemples
console.log(lastNitem([8, 1, 5, 2, 4, 9], 3));
console.log(lastNitem([1, 2, 3], 1));
console.log(lastNitem([1, 2, 3, 4], 10));
console.log(lastNitem([1, 2, 3, 4], 0));
Exercice 8:
Écrivez une fonction JavaScript appelée removeSpecialChar() qui reçoit une chaîne de caractères et supprime tous les caractères spéciaux, en conservant uniquement les lettres de A à Z.
// Fonction permettant de supprimer les caractères spéciaux
// et de conserver uniquement les lettres
function removeSpecialChar(str) {
// Remplace tous les caractères qui ne sont pas
// des lettres de A à Z ou de a à z par une chaîne vide
return str.replace(/[^a-z]/gi, '');
}
// Test de la fonction avec différents exemples
console.log(removeSpecialChar("@W*-a?;+y!°T-8o_&L?e!=r%$n<X"));
console.log(removeSpecialChar(",A@[L]?e*$!x"));
console.log(removeSpecialChar("$*;H[!e&}l]l@{^.o"));
Exercice 9:
Écrivez une fonction JavaScript appelée checkPalindrome() qui renvoie TRUE si un nombre est un palindrome.
// Fonction permettant de vérifier si un nombre est un palindrome
function checkPalindrome(n) {
// Convertit le nombre en chaîne de caractères
const str = String(n);
// Inverse la chaîne de caractères
const inverse = str.split("").reverse().join("");
// Compare la chaîne originale avec la chaîne inversée
return str === inverse;
}
// Test de la fonction avec différents exemples
console.log(checkPalindrome(212));
console.log(checkPalindrome(123));
console.log(checkPalindrome(75257));
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