Exercice JavaScript Corrigé – Partie 9

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:

Un palindrome est un mot qui s’écrit de la même manière après l’inversion de ce dernier. ‘ada’ est un palindrome. Écrivez une méthode qui vérifie si une chaîne est un palindrome.

Exemple:

isPalindrome("NON") ➞ true

isPalindrome("TOTO") ➞ false

isPalindrome("SOS") ➞ true

isPalindrome("SELLES") ➞ true

Solution:

function isPalindrome(str) {

	return	[...str].reverse().join("") == str
}
 

Exercice 2:

Écrivez une fonction qui prend deux nombres et renvoie s’ils doivent être additionnés, soustraits, multipliés ou divisés pour obtenir 8. Si aucune des opérations ne peut donner 8, retournez NULL.

Exemple:

operation(4, 4) ➞ "additionner"

operation(10, 2) ➞ "soustraire"

operation(32, 4) ➞ "diviser"

operation(6, 6) ➞ NULL

Solution:

function operation(n1, n2) {
	if (n1 + n2 === 8) {
		return 'additionner';
	} else if (n1 * n2 === 8) {
		return 'multiplier';
	} else if (n1 - n2 === 8) {
		return 'soustraire';
	} else if (n1 / n2 === 8) {
		return 'diviser';
	} else {
		return null;
	}
}
 

Exercice 3:

Vous avez embauché trois commerciales et vous les payez. Créez une fonction qui prend trois nombres (le salaire horaire de chaque commerciale) et renvoie la différence entre le commerciale le mieux payé et le moins payé.

Exemple:

getDiff(200, 10, 90) ➞ 190
//200 - 10 = 190

getDiff(56, 29, 16) ➞ 40

getDiff(2, 10, 5) ➞ 8

Solution:

function getDiff(c1, c2, c3) {

	return Math.max(...arguments) - Math.min(...arguments)
}
 
 

Exercice 4:

Vous avez un tableau de nombres, créez une fonction qui renvoie le même tableau mais avec l’index de chaque élément dans le tableau ajouté à lui-même. Cela signifie que vous ajoutez 0 au nombre à l’index 0, ajoutez 1 au nombre à l’index 1, ajoutez 2 au nombre à l’index 2 etc …

Exemple:

addIndexeToElem([0, 0, 0, 0]) ➞ [0, 1, 2, 3]

addIndexeToElem([2, 1, 0, 1]) ➞ [2, 2, 2, 4]

addIndexeToElem([9, 8, 7, 6]) ➞ [9, 9, 9, 9]

Solution:

function addIndexeToElem(tab) {

	return tab.map((val,i) => val + i);
}
 

Exercice 5:

Créez une fonction qui prend une chaîne et renvoie une chaîne avec des espaces entre tous les caractères.

Exemple:

addSpace("waytolearnx") ➞ "w a y t o l e a r n x"

addSpace("Hello BoB") ➞ "H e l l o  B o B"

addSpace("Thank you") ➞ "T h a n k  y o u"

Solution:

function addSpace(str) {

	return [...str].join(' ');
}
 

Exercice 6:

Vous avez un tableau de boissons, chaque boisson étant un objet avec deux propriétés: nom et prix. Créez une fonction qui a le tableau des boissons comme argument et retournez l’objet boissons trié par prix dans l’ordre croissant.

Supposons que le tableau d’objets de boisson suivant doit être trié:

boissons = [
  {nom: "citron", prix: 50},
  {nom: "menthe", prix: 35},
  {nom: "fraise", prix: 5}
]

La sortie de l’objet boissons triées sera:

Exemple:

sortByPrice(boissons) ➞ [
	{nom: "fraise", prix: 5}, 
	{nom: "menthe", prix: 35},
	{nom: "citron", prix: 50}
]

Solution:

function sortByPrice(boissons) {

	return boissons.sort((a, b) => a.prix - b.prix);
}
 
 

Exercice 7:

Un nombre uniforme est un nombre positif composé du même chiffre.

Créez une fonction qui prend un entier et retourne s’il s’agit d’un nombre uniforme ou non.

Exemple:

isUniforme(444) ➞ true

isUniforme(-444) ➞ false

isUniforme(0) ➞ true

Solution:

function isUniforme(n) {

	return new Set('' + n).size === 1
}
 

Exercice 8:

Avec deux chaînes, créez une fonction qui renvoie le nombre total de caractères uniques de la chaîne concaténée.

Exemple:

uniqueChr("attention", "intention") ➞ 6  
// "attentionintention" a 6 caractères uniques:
// "a", "t", "e", "n", "i", "o"

uniqueChr("plus", "tous") ➞ 6 

uniqueChr("bis", "lis") ➞ 4

Solution:

function uniqueChr(s1, s2) {

	return new Set(s1 + s2).size;
}
 

Exercice 9:

Écrivez une fonction récursive qui trouve la somme d’un tableau.

Exemple:

somme([1, 2, 3]) ➞ 6

somme([1, 2]) ➞ 3

somme([]) ➞ 0

Solution:

function somme(tab) {
	if(tab.length === 0)
	    return 0;
	else
	    return tab.pop() + somme(tab);
}
QCM Javascript

Laisser un commentaire

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