Exercice JavaScript Corrigé – Partie 10

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 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.

Exemple:

add("2", "3") ➞ 5

add(2, 3) ➞ "23"

add("2", 3) ➞ null

Solution:

function add(a, b) {

	if (typeof a !== typeof b) 
	    return null;
	    
	if (typeof a === 'string') 
	    return Number(a) + Number(b);
	    
	return `${a}${b}`;
}
 

Exercice 2:

Créez une fonction qui renvoie le produit de tous les entiers impairs dans un tableau.

Exemple:

prodImp([1, 2, 3, 4]) ➞ 3

prodImp([3, 6, 8, 5, 5, 7]) ➞ 525

prodImp([1, 0, 1, 0, 1, 0]) ➞ 1

Solution:

function prodImp(tab) {

	return tab.filter(i => i % 2 !== 0).reduce((a,b) => a * b);
}
 

Exercice 3:

Créez une fonction qui répète chaque caractère dans une chaîne n fois.

Exemple:

repeatChr("alex", 3) ➞ "aaallleeexxx"

repeatChr("waytolearnx", 1) ➞ "waytolearnx"

repeatChr("bob", 2) ➞ "bboobb"

Solution:

function repeatChr(str, n) {

	return str
	        .split('')
	        .map(c => c.repeat(n))
	        .join('');
}
 
 

Exercice 4:

Vous avez un tableau avec des mots aléatoires, mais votre programme n’accepte pas les mots commençant par la lettre majuscule « Z ». Supprimez les mots non acceptés et renvoyez le nouveau tableau.

Exemple:

filterWords(["Bob", "Alex", "Zoello"]) ➞ ["Bob", "Alex"]

filterWords(["Lion", "Zebra", "Gazelle"]) ➞ ["Lion", Gazelle"]

filterWords(["Mercedes", "Bmw", "Audi"]) ➞ ["Mercedes", "Bmw", "Audi"]

Solution:

function filterWords(tab) {

	return tab.filter(str => /^[^Z]/.test(str))
}
 

Exercice 5:

Écrivez une fonction qui prend un tableau d’éléments et ne renvoie que les entiers.

Exemple:

getInt([1, 2, "3", "4", "5", 6]) ➞ [1, 2, 6]

getInt(["Vache", 20, "Cheval", 1, "Poule", 50]) ➞ [20, 1, 1]

getInt(["Str", false, 5.56, 6]) ➞ [6]

Solution:

function getInt(tab) {

	return tab.filter(Number.isInteger);
}
 

Exercice 6:

Créez une fonction qui convertit deux tableaux de coordonnées x et y en un tableau de coordonnées (x, y).

Exemple:

convert([0, 2, 5], [8, 6, 9]) ➞ [ [ 0, 8 ], [ 2, 6 ], [ 5, 9 ] ]

convert([2, 2], [4, 8]) ➞ [ [ 2, 4 ], [ 2, 8 ] ]

convert([1], [2]) ➞ [ [ 1, 2 ] ]

Solution:

function convert(tabX, tabY) {

	return tabX.map((ix, iy) => [ix, tabY[iy]])
}
 
 

Exercice 7:

Créez une fonction qui remplace toutes les voyelles d’une chaîne par un caractère spécifié.

Exemple:

replaceVoyel("voyelle", "$") ➞ "v$y$ll$"

replaceVoyel("boulevard", "?") ➞ "b??l?v?rd"

replaceVoyel("bouche", "@") ➞ "[email protected]@[email protected]"

Solution:

function replaceVoyel(str, c) {

	return str.replace(/[aeoiu]/g, c);
}
 

Exercice 8:

Créez une fonction pour calculer le déterminant d’une matrice 2 x 2.

[[a, b], 
 [c, d]]

Le déterminant de la matrice ci-dessus est: ad – bc:

Exemple:

det([
  [1, 1],
  [2, 3]
]) ➞ 1

det([
  [6, 4],
  [2, 3]
]) ➞ 10

det([
  [2, 4],
  [4, 2]
]) ➞ -12

Solution:

function det(matrice) {

	return (matrice[0][0]*matrice[1][1] - matrice[1][0]*matrice[0][1]);
}
 

Exercice 9:

Écrivez une fonction qui renvoie l’extension des fichiers.

Exemple:

getExtension(["file.html", "file.js"]) ➞ ["html", "js"]

getExtension(["image.jpg", "image.png", "image.gif"]) ➞ ["jpg", "png", "gif"]

getExtension(["file.pdf", "file.txt", "file.docx"]) ➞ ["pdf", "txt", "docx"]

Solution:

function getExtension(files) {

	return files.map(file => file.split(".").pop())
}
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 *