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 JavaScript appelée add() qui accepte deux paramètres et, si les deux paramètres sont des chaînes, additionnez-les comme s’ils étaient des entiers ou si les deux paramètres sont des entiers, concaténez-les.
// Fonction qui additionne ou concatène
// les deux paramètres selon leur type
function add(a, b) {
// Vérifie si les deux paramètres ont des types différents
if (typeof a !== typeof b) {
// Retourne null si les types sont différents
return null;
}
// Si les deux paramètres sont des chaînes,
// les convertit en nombres puis les additionne
if (typeof a === "string") {
return Number(a) + Number(b);
}
// Si les deux paramètres sont des nombres,
// les transforme en chaînes puis les concatène
return `${a}${b}`;
}
// Test de la fonction avec différents exemples
console.log(add("2", "3"));
console.log(add(2, 3));
console.log(add("2", 3));
Exercice 2:
Créez une fonction JavaScript appelée prodImp() qui renvoie le produit de tous les entiers impairs dans un tableau.
// Fonction permettant de calculer le produit
// de tous les nombres impairs du tableau
function prodImp(tab) {
// Filtre uniquement les nombres impairs
const impairs = tab.filter(nombre => nombre % 2 !== 0);
// Multiplie tous les nombres impairs entre eux
// La valeur initiale du produit est 1
return impairs.reduce((produit, nombre) => produit * nombre, 1);
}
// Test de la fonction avec différents exemples
console.log(prodImp([1, 2, 3, 4]));
console.log(prodImp([3, 6, 8, 5, 5, 7]));
console.log(prodImp([1, 0, 1, 0, 1, 0]));
Exercice 3:
Créez une fonction JavaScript appelée repeatChr() qui répète chaque caractère dans une chaîne n fois.
// Fonction permettant de répéter chaque caractère
// d'une chaîne n fois
function repeatChr(str, n) {
// Transforme la chaîne en tableau de caractères
return str
// Chaque caractère est répété n fois
.split("")
.map(caractere => caractere.repeat(n))
// Regroupe tous les caractères dans une seule chaîne
.join("");
}
// Test de la fonction avec différents exemples
console.log(repeatChr("alex", 3));
console.log(repeatChr("waytolearnx", 1));
console.log(repeatChr("bob", 2));
Exercice 4:
Vous avez un tableau contenant des mots aléatoires. Votre programme n’accepte pas les mots qui commencent par la lettre majuscule Z. Créez une fonction filterWords() qui supprime ces mots et retourne un nouveau tableau contenant uniquement les mots acceptés.
// Fonction permettant de supprimer les mots
// qui commencent par la lettre majuscule "Z"
function filterWords(tab) {
// Conserve uniquement les mots dont le premier
// caractère n'est pas la lettre "Z"
return tab.filter(mot => !/^Z/.test(mot));
}
// Test de la fonction avec différents exemples
console.log(filterWords(["Bob", "Alex", "Zoello"]));
console.log(filterWords(["Lion", "Zebra", "Gazelle"]));
console.log(filterWords(["Mercedes", "Bmw", "Audi"]));
Exercice 5:
Écrivez une fonction JavaScript appelée getInt() qui reçoit un tableau contenant différents types de valeurs et retourne uniquement les entiers. Les chaînes de caractères représentant des nombres, les nombres décimaux, les booléens, etc. doivent être ignorés.
// Fonction permettant de récupérer uniquement
// les nombres entiers d'un tableau
function getInt(tab) {
// Conserve uniquement les éléments
// qui sont des nombres entiers
return tab.filter(Number.isInteger);
}
// Test de la fonction avec différents exemples
console.log(getInt([1, 2, "3", "4", "5", 6]));
console.log(getInt([
"Vache",
20,
"Cheval",
1,
"Poule",
50
]));
console.log(getInt(["Str", false, 5.56, 6]));
Exercice 6:
Créez une fonction JavaScript appelée convert() qui convertit deux tableaux de coordonnées x et y en un tableau de coordonnées (x, y).
// Fonction permettant de convertir deux tableaux
// de coordonnées X et Y en coordonnées [X, Y]
function convert(tabX, tabY) {
// Parcourt le tableau des coordonnées X
return tabX.map((x, index) => {
// Crée une paire [X, Y] avec la valeur
// correspondante du tableau tabY
return [x, tabY[index]];
});
}
// Test de la fonction avec différents exemples
console.log(convert([0, 2, 5], [8, 6, 9]));
console.log(convert([2, 2], [4, 8]));
console.log(convert([1], [2]));
Exercice 7:
Créez une fonction JavaScript appelée replaceVoyel() qui remplace toutes les voyelles d’une chaîne par un caractère spécifié.
// Fonction permettant de remplacer toutes les voyelles
// d'une chaîne par un caractère donné
function replaceVoyel(str, c) {
// Recherche toutes les voyelles minuscules
// et les remplace par le caractère c
return str.replace(/[aeiou]/g, c);
}
// Test de la fonction avec différents exemples
console.log(replaceVoyel("voyelle", "$"));
console.log(replaceVoyel("boulevard", "?"));
console.log(replaceVoyel("bouche", "@"));
Exercice 8:
Créez une fonction JavaScript appelée det() qui calcule le déterminant d’une matrice 2 × 2.
┌ ┐
│ a b │
│ c d │
└ ┘
Le déterminant de la matrice ci-dessus est: det = ad – bc:
// Fonction permettant de calculer le déterminant
// d'une matrice 2 × 2
function det(matrice) {
// Récupère les quatre valeurs de la matrice
const a = matrice[0][0];
const b = matrice[0][1];
const c = matrice[1][0];
const d = matrice[1][1];
// Applique la formule du déterminant :
// ad - bc
return a * d - b * c;
}
// Test de la fonction avec différents exemples
console.log(det([
[1, 1],
[2, 3]
]));
console.log(det([
[6, 4],
[2, 3]
]));
console.log(det([
[2, 4],
[4, 2]
]));
Exercice 9:
Créez une fonction JavaScript appelée getExtension() qui reçoit un tableau de noms de fichiers et retourne un tableau contenant uniquement leurs extensions.
// Fonction permettant de récupérer
// l'extension de chaque fichier
function getExtension(files) {
// Parcourt chaque nom de fichier
return files.map(file => {
// Sépare le nom du fichier au niveau du point
// puis récupère le dernier élément
return file.split(".").pop();
});
}
// Test de la fonction avec différents exemples
console.log(getExtension(["file.html", "file.js"]));
console.log(getExtension([
"image.jpg",
"image.png",
"image.gif"
]));
console.log(getExtension([
"file.pdf",
"file.txt",
"file.docx"
]));
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