-
Notifications
You must be signed in to change notification settings - Fork 0
Description
📄 Test JavaScript – Niveau Débutant/Junior
Durée estimée : 60 minutes
Thèmes : tableaux, objets, boucles for, primitives, fonctions
âś… Consignes
- Ne pas utiliser de méthodes avancées (
map,filter,reduce, etc.) — seulement des bouclesfor, fonctions, objets, primitives et tableaux. - Chaque exercice doit être fait en JavaScript pur.
- Écrire des fonctions complètes pour chaque question.
- Les commentaires et tests unitaires sont un plus.
🧠Exercice 1 – Somme des nombres pairs (10 points)
Écris une fonction sommePairs qui prend un tableau de nombres en argument et retourne la somme des nombres pairs.
function sommePairs(numbers) {
// Ton code ici
}Exemple :
sommePairs([1, 2, 3, 4, 5, 6]); // 12🧠Exercice 2 – Concepts fondamentaux JavaScript (10 points)
Durée estimée : 15 minutes
Thèmes : portée, typage, référence/valeur, coercition
❓ Question – Que va afficher le code suivant ?
let a = 10;
let b = a;
b = 5;
console.log(a);- A.
5 - B.
10 - C. Une erreur
- D.
undefined
❓ Question – Que retourne typeof null en JavaScript ?
- A.
"null" - B.
"object" - C.
"undefined" - D. Une erreur
- [ ]
❓ Question – Quelle(s) affirmation(s) est/sont vraie(s) ?
const user = { name: "Alice" };
user.name = "Bob";- A. Le code lève une erreur
- B.
user.namedevient"Bob" - C. On ne peut jamais modifier une variable
const - D. L’objet référencé par
userpeut être modifié
❓ Question – Que fait la ligne suivante ?
const result = "5" == 5;- A. Retourne
true - B. Retourne
false - C. Lève une erreur
- D. Retourne
undefined
🧠Exercice 3 – Trouver l’élément le plus grand (10 points)
Écris une fonction plusGrand qui prend un tableau de nombres et retourne le plus grand nombre.
function plusGrand(tab) {
// Ton code ici
}Exemple :
plusGrand([3, 10, 7, 5]); // 10🧠Exercice 4 – Formater une liste d’utilisateurs (15 points)
Tu reçois un tableau d’objets avec les noms et prénoms d’utilisateurs. Écris une fonction formaterNoms qui retourne un tableau de chaînes de caractères formatées en "Prénom NOM" (le nom en majuscules).
function formaterNoms(utilisateurs) {
// Ton code ici
}Exemple :
formaterNoms([
{ prenom: "Jean", nom: "dupont" },
{ prenom: "Claire", nom: "durand" }
]);
// ["Jean DUPONT", "Claire DURAND"]🧠Exercice 5 – Supprimer les doublons d’un tableau (15 points)
Écris une fonction supprimerDoublons qui retourne un nouveau tableau sans doublons, en gardant uniquement la première apparition de chaque élément.
function supprimerDoublons(tab) {
// Ton code ici
}Exemple :
supprimerDoublons([1, 2, 3, 2, 4, 1]); // [1, 2, 3, 4]🧠Exercice 6 – Analyse d’objets (20 points)
Tu reçois un tableau d’objets représentant des produits avec une categorie et un prix. Écris une fonction prixTotalCategorie qui retourne la somme des prix pour une catégorie donnée.
function prixTotalCategorie(produits, categorieRecherchee) {
// Ton code ici
}Exemple :
prixTotalCategorie([
{ categorie: "fruit", prix: 2 },
{ categorie: "legume", prix: 3 },
{ categorie: "fruit", prix: 4 }
], "fruit"); // 6🧠Exercice 7 – Palindrome simple (20 points)
Écris une fonction estPalindrome qui retourne true si un mot est un palindrome (il se lit dans les deux sens), sinon false.
function estPalindrome(mot) {
// Ton code ici
}Exemple :
estPalindrome("kayak"); // true
estPalindrome("bonjour"); // false🧪 Bonus – Inverser les clés et valeurs d’un objet (bonus 10 pts)
Écris une fonction inverserObjet qui échange les clés et valeurs d’un objet simple.
function inverserObjet(obj) {
// Ton code ici
}Exemple :
inverserObjet({ a: "x", b: "y" }); // { x: "a", y: "b" }