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:
La distance de Hamming est le nombre de caractères qui diffèrent entre deux chaînes. Prenons un exemple :
Str1: « abcdde »
Str2: « abcdbe »
Distance de Hamming = 1 « d » et « b » est la seule différence.
Créez une fonction qui calcule la distance de hamming entre deux chaînes.
// Fonction permettant de calculer
// la distance de Hamming entre deux chaînes
function distanceHamming(str1, str2) {
// Parcourt les caractères de la première chaîne
// et compte ceux qui sont différents
// du caractère situé à la même position dans la deuxième chaîne
return [...str1]
.filter((caractere, index) => caractere !== str2[index])
.length;
}
// Test de la fonction avec différents exemples
console.log(distanceHamming("abcdde", "abcdbe"));
console.log(distanceHamming("abefcd", "cdfgea"));
console.log(distanceHamming("agresser", "adresser"));
console.log(distanceHamming("attention", "intention"));
Exercice 2:
Écrivez une fonction JavaScript appelée getMinMax() qui reçoit un tableau de nombres et retourne un nouveau tableau contenant [Min, Max].
// Fonction permettant de trouver le minimum
// et le maximum d'un tableau
function getMinMax(tab) {
// Math.min() retourne la plus petite valeur.
// L'opérateur Spread (...) transmet les éléments
// du tableau comme arguments à Math.min().
const min = Math.min(...tab);
// Math.max() retourne la plus grande valeur.
// L'opérateur Spread (...) permet également
// de transmettre tous les éléments du tableau.
const max = Math.max(...tab);
// Retourne le minimum et le maximum
// sous la forme [Min, Max]
return [min, max];
}
// Test de la fonction avec différents exemples
console.log(getMinMax([8, 1, 9, 2, 6]));
console.log(getMinMax([22, 2]));
console.log(getMinMax([5]));
Exercice 3:
Écrivez une fonction JavaScript appelée countMaj() qui reçoit une chaîne de caractères et retourne le nombre de lettres majuscules qu’elle contient.
// Fonction permettant de compter le nombre de lettres majuscules
function countMaj(str) {
// Recherche toutes les lettres majuscules de A à Z
// grâce à l'expression régulière /[A-Z]/g
const majuscules = str.match(/[A-Z]/g);
// Si des majuscules sont trouvées, retourne leur nombre.
// Sinon, retourne 0.
return majuscules ? majuscules.length : 0;
}
// Test de la fonction avec différents exemples
console.log(countMaj("abcdEFG"));
console.log(countMaj("WayToLearnX"));
console.log(countMaj("abcdefghigklmnopkrstvuwxyz"));
Exercice 4:
Écrivez une fonction JavaScript appelée nbrOfSlab() qui reçoit un mot dont les syllabes sont séparées par un tiret -. La fonction doit retourner le nombre de syllabes.
// Fonction permettant de compter le nombre de syllabes
// séparées par des tirets
function nbrOfSlab(str) {
// Sépare le mot à chaque tiret "-"
// puis compte le nombre de parties obtenues
return str.split("-").length;
}
// Test de la fonction avec différents exemples
console.log(nbrOfSlab("prin-temps"));
console.log(nbrOfSlab("ar-rê-te"));
console.log(nbrOfSlab("ther-mo-mè-tre"));
Exercice 5:
Implémentez une fonction JavaScript appelée toMiles() qui reçoit une distance en kilomètres et la convertit en miles. Le résultat doit être arrondi à 4 chiffres après la virgule. Formule: 1 kilomètre ≈ 0,621371 mile
// Fonction permettant de convertir des kilomètres en miles
function toMiles(km) {
// Convertit les kilomètres en miles
// puis arrondit le résultat à 4 chiffres après la virgule
return parseFloat((km * 0.621371).toFixed(4));
}
// Test de la fonction avec différents exemples
console.log(toMiles(5));
console.log(toMiles(7));
console.log(toMiles(10));
Exercice 6:
Créez une fonction JavaScript appelée nomDuMois() qui reçoit un nombre compris entre 1 et 12 et retourne le nom du mois correspondant. Par exemple, si la fonction reçoit 4, elle doit retourner « Avril ».
// Fonction permettant de retourner le nom
// du mois correspondant au numéro donné
function nomDuMois(n) {
// Objet contenant la correspondance
// entre chaque numéro et son mois
const mois = {
1: "Janvier",
2: "Février",
3: "Mars",
4: "Avril",
5: "Mai",
6: "Juin",
7: "Juillet",
8: "Août",
9: "Septembre",
10: "Octobre",
11: "Novembre",
12: "Décembre"
};
// Retourne le mois correspondant au numéro donné
return mois[n];
}
// Test de la fonction avec différents exemples
console.log(nomDuMois(3));
console.log(nomDuMois(12));
console.log(nomDuMois(6));
Exercice 7:
Créez une fonction qui renvoie « Majuscule » si toutes les lettres d’un mot sont en majuscules, « Minuscule » si toutes les lettres d’un mot sont en minuscule et « Mix » s’il contient à la fois des majuscules et des minuscules.
// Fonction permettant de déterminer la casse d'un mot
function caseOf(str) {
// Vérifie si la chaîne est entièrement en majuscules
if (str === str.toUpperCase()) {
return "Majuscule";
}
// Vérifie si la chaîne est entièrement en minuscules
if (str === str.toLowerCase()) {
return "Minuscule";
}
// Si aucune des deux conditions n'est vraie,
// la chaîne contient un mélange de majuscules et de minuscules
return "Mix";
}
// Test de la fonction avec différents exemples
console.log(caseOf("WAYTOLEARNX"));
console.log(caseOf("waytolearnx"));
console.log(caseOf("WayToLearnX"));
Exercice 8:
Le temps a un format: heures:minutes. Les heures et les minutes ont deux chiffres, comme 07:00. Ecrivez l’expression régulière pour trouver le temps(heures:minutes) dans la chaîne.
Exemple:
"Le restaurant ouvre à 08:00 situé au boulevard du 200:200" ➞ "08:00"
"J'ai pris mon déjeuner à 10:30." ➞ "10:30"
"Je vais aller au cinéma demain à 18:00 du soir. ➞ "18:00"
// Expression régulière permettant de rechercher
// une heure au format HH:MM
var expr = /\d{2}:\d{2}/;
// Test de l'expression régulière
console.log("Le restaurant ouvre à 08:00 situé au boulevard du 200:200"
.match(expr));
console.log("J'ai pris mon déjeuner à 10:30."
.match(expr));
console.log("Je vais aller au cinéma demain à 18:00 du soir."
.match(expr));
Exercice 9:
Écrivez une fonction JavaScript appelée binToDec() qui reçoit un nombre binaire de 8 bits sous forme de tableau et le convertit en nombre décimal.
// Fonction permettant de convertir un nombre binaire
// représenté par un tableau en nombre décimal
function binToDec(tab) {
// Transforme le tableau en chaîne de caractères
// Exemple : [0, 0, 0, 1, 1, 1, 1, 1] devient "00011111"
const binaire = tab.join("");
// Convertit la chaîne binaire en nombre décimal
// Le deuxième argument 2 indique que la base est 2
return parseInt(binaire, 2);
}
// Test de la fonction avec différents exemples
console.log(binToDec([0, 0, 0, 1, 1, 1, 1, 1]));
console.log(binToDec([0, 0, 0, 0, 0, 0, 0, 1]));
console.log(binToDec([1, 0, 0, 0, 0, 0, 0, 0]));
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