Exercice JavaScript Corrigé – Partie 6

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.

Exemple:

checkOrder("abc") ➞ true

checkOrder("zyx") ➞ false

checkOrder("123") ➞ true

checkOrder("aabbcc") ➞ true

Solution:

function checkOrder(str) {

	return str === str.split("").sort().join("")
}
 

Exercice 2:

Créez une fonction qui ajoute une sous-chaîne à la fin de chaque chaîne du tableau.

Exemple:

addEnd(["accept", "achet", "adapt"], "able") ➞ ["acceptable", "achetable", "adaptable"]

addEnd(["aim", "act", "ard"], "ant") ➞ ["aimant", "actant", "ardant"]

Solution:

function addEnd(tableau, fin) {

	return tableau.map(mot => mot + fin);
}
 

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.

Exemple:

checkIntOrStr("WayToLearnX") ➞ "string"

checkIntOrStr(1) ➞ "int"

checkIntOrStr("250") ➞ "string"

Solution:

function checkIntOrStr(x) {
  if (typeof x === "number") {
    return "int";
  } else if (typeof x === "string") {
    return "string";
  }
}
 
 

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

Solution:

function count(str) {

	return str.split(" ").length;
}
 

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.

Exemple:

sommeImpair(3) ➞ 4
// 1 + 3 = 4

sommeImpair(7) ➞ 16

sommeImpair(59) ➞ 900

Solution:

function sommeImpair(n) {

	if(n === 1) return 1
	return n + sommeImpair(n - 2)
}
 

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.

Exemple:

isSameCase("WayToLearnX") ➞ false

isSameCase("waytolearnx") ➞ true

isSameCase("WAYTOLEARNX") ➞ true

Solution:

function isSameCase(str) {

	return str.toUpperCase() === str || str.toLowerCase() === str;
}
 
 

Exercice 7:

Créez une fonction pour multiplier toutes les valeurs d’un tableau par la longueur du tableau donné.

Exemple:

mulByLen([1, 1, 1]) ➞ [ 3, 3, 3 ]

mulByLen([1, 2, 3]) ➞ [ 3, 6, 9 ]

mulByLen([0, 0, 0, 0, 2]) ➞  [ 0, 0, 0, 0, 10 ]

Solution:

function mulByLen(tab) {

	return tab.map(x => x * tab.length);
}
 

Exercice 8:

Créez une fonction pour supprimer toutes les valeurs nulles d’un tableau.

Exemple:

deleteNull(["Alex", null, "Emily", "Bob"]) ➞ ["Alex", "Emily", "Bob"]

deleteNull([0, 1, null, 2, null, 3]) ➞ [0, 1, 2, 3]

deleteNull([null, null, null]) ➞ []

Solution:

function deleteNull(tab) {

	return tab.filter(i => i !== 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.

Solution:

function bissextile(year) {

	return year %400 === 0 || year %4 === 0 && year %100 !== 0;
}
QCM JavascriptQCM 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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *