Les fêtes de fin d'année sont là - demain Noël et dans 8 jours la nouvelle année. Actuellement, je dispose de quelques slots de libre dans mon timetable. Alors pourquoi ne pas en profiter - pour le fun - et faire le challenge 10 Days of JavaScript du site de coding HackerRank. Je me rappelle avoir débuté ce challenge en Octobre 2019 mais je ne l'avais point terminé. L'ancien dépôt git se trouve ici. Je ne l'avais pas terminé parce que j'étais pris pas de nombreux projets professionnels et donc peu de temps à y consacrer.
Bien évidemment je code déjà en JavaScript (JS) depuis plusieurs années, mais j'ai décidé aujourd'hui de relever ce challenge. Peut-être qu'il m'apprendra une ou deux notions que j'avais oubliée(s) ou que je ne connaissais pas déjà . Voyons voir! Le nouveau dépôt git se trouve ici.
Day 0: Hello, World! (24.12.2021)
Le Jour 0 est consacré à l'affichage de texte (string) en utilisant la fonction console.log().
function greeting(parameterVariable) { console.log('Hello, World!'); console.log(parameterVariable); }
Day 0: Data Types (25.12.2021)
Les entiers et les décimaux sont de type Number. Les chaînes de caractères sont de type String.
function performOperation(secondInteger, secondDecimal, secondString) { const firstInteger = 4; const firstDecimal = 4.0; const firstString = 'HackerRank '; console.log(firstInteger + Number(secondInteger)); console.log(firstDecimal + Number(secondDecimal)); console.log(firstString + secondString); }
Day 1: Arithmetic Operators (25.12.2021)
L'addition se fait avec l'opérateur + et la multiplication avec l'opérateur *.
function getArea(length, width) { let area; area = length * width; return area; } function getPerimeter(length, width) { let perimeter; perimeter = 2 * (length + width); return perimeter; }
Day 1: Functions (25.12.2021)
Une fonction peut retourner une valeur ou aucune valeur (dans ce cas c'est une procédure).
function factorial(n) { if (n === 0 || n === 1) return 1; return n * factorial(n-1); }
En ce Day 1, qui correspond au 25 Décembre, Je souhaite un Joyeux Noël à tous et à toutes !
Day 1: Let and Const (26.12.2021)
Le mot let est utilisé pour définir une variable. Le mot const est utilisé pour définir une constante. Souvent la variable constante est écrite en majuscule.
function main() { let r = readLine(); const PI = Math.PI; let area = PI * Math.pow(r, 2); let perimeter = 2 * PI * r; // Print the area of the circle: console.log(area); // Print the perimeter of the circle: console.log(perimeter); }
Day 2: Conditional Statements: If-Else (26.12.2021)
La structure conditionnelle se fait en utilisant: if (condition1) {} else if (condition2) {} else {}.
function getGrade(score) { let grade; if (25 < score && score <= 30) grade = 'A'; else if (20 < score && score <= 25) grade = 'B'; else if (15 < score && score <= 20) grade = 'C'; else if (10 < score && score <= 15) grade = 'D'; else if (5 < score && score <= 10) grade = 'E'; else if (0<= score && score <= 5) grade = 'F'; return grade; }
Day 2: Conditional Statements: Switch (26.12.2021)
Dans certains cas, au lieu d'agencer plusieurs if ... else, on peut utiliser switch.
function getLetter(s) { let letter; switch(s.charAt(0)) { case 'a': case 'e': case 'i': case 'o': case 'u': letter = 'A'; break; case 'b': case 'c': case 'd': case 'f': case 'g': letter = 'B'; break; case 'h': case 'j': case 'k': case 'l': case 'm': letter = 'C'; break; default: letter = 'D'; } return letter; }
Day 2: Loops (26.12.2021)
On peut faire une boucle en utilisant for ou while. La méthode forEach permet de boucler sur une collection d'éléments.
function vowelsAndConsonants(s) { let vowels = ['a', 'e', 'i', 'o', 'u']; for (let i=0; i<s.length; i++) { let c = s.charAt(i); if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') console.log(c); } for (let i=0; i<s.length; i++) { let c = s.charAt(i); if (c != 'a' && c != 'e' && c != 'i' && c !== 'o' && c !== 'u') console.log(c); } }
function vowelsAndConsonants(s) { let vowels = []; let consonants = []; let newS = [...s]; newS.forEach(v => { if (v == 'a' || v == 'e' || v == 'i' || v == 'o' || v == 'u') { vowels.push(v); } else { consonants.push(v); } }); vowels.forEach(v => console.log(v)); consonants.forEach(v => console.log(v)); }
Day 3: Arrays (27.12.2021)
L'opérateur ... permet de déstructurer (décomposer) un tableau en des variables distinctes.
function getSecondLargest(nums) { let max = Math.max(...nums); let newNums = nums.filter(e => e!=max); return Math.max(...newNums); }
Day 3: Try, Catch, and Finally (27.12.2021)
function getSecondLargest(nums) { let max = Math.max(...nums); let newNums = nums.filter(e => e!=max); return Math.max(...newNums); }
Day 3: Throw (27.12.2021)
function isPositive(a) { if (a > 0) return "YES"; else if (a == 0) throw Error("Zero Error"); else throw Error("Negative Error"); }
Aucun commentaire:
Enregistrer un commentaire