Skip to content

Instantly share code, notes, and snippets.

View jeremymouzin's full-sized avatar
😃
www.javascriptdezero.com

Jérémy Mouzin jeremymouzin

😃
www.javascriptdezero.com
View GitHub Profile
@jeremymouzin
jeremymouzin / gist:2bbc19a4425ceb84ffa561a035149561
Last active February 14, 2020 17:44
Correction du code de sam pour son jeu de morpion
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>demo html</title>
</head>
<body>
<h3>jeux morpion</h3>
@jeremymouzin
jeremymouzin / challenge1.js
Last active June 28, 2020 14:58
Challenge 1 du Challenge JavaScript 10 jours de Scrimba
// Version lisible pour débutants
function add(...nombres) {
let somme = 0;
for (nombre of nombres) {
somme = somme + nombre;
}
return somme;
}
// Version avancée plus compacte
@jeremymouzin
jeremymouzin / challenge2.js
Last active June 28, 2020 06:05
Challenge 2 du Challenge JavaScript 10 jours de Scrimba
// Version lisible pour débutants
function allLongestStrings(tableauDeChaines) {
let longueurMax = 0;
for (chaine of tableauDeChaines) {
if (longueurMax < chaine.length) {
longueurMax = chaine.length;
}
}
let plusLonguesChaines = [];
for (chaine of tableauDeChaines) {
@jeremymouzin
jeremymouzin / challenge3.js
Last active June 28, 2020 06:05
Challenge 3 du Challenge JavaScript 10 jours de Scrimba
// Version lisible pour débutants
function alternatingSums(tableau) {
let sommePaires = 0;
let sommeImpaires = 0;
for (let i = 0; i < tableau.length; i++) {
if (i % 2 === 0) {
sommePaires = sommePaires + tableau[i];
} else {
sommeImpaires = sommeImpaires + tableau[i];
}
@jeremymouzin
jeremymouzin / challenge4.js
Last active June 28, 2020 13:10
Challenge 4 du Challenge JavaScript 10 jours de Scrimba
// Version lisible pour débutants
function arrayReplace(tableau, nombreARemplacer, nouvelleValeur) {
const resultat = [];
for(nombre of tableau) {
if (nombre === nombreARemplacer) {
resultat.push(nouvelleValeur);
} else {
resultat.push(nombre);
}
}
@jeremymouzin
jeremymouzin / challenge5.js
Created June 29, 2020 13:55
Challenge 5 du Challenge JavaScript 10 jours de Scrimba
// Version lisible pour débutants
function caseInsensitivePalindrome(mot) {
// On met tout en minuscules pour rester insensible à la casse
mot = mot.toLowerCase();
// On transforme la chaîne en tableau de caractères...
let palindrome = mot.split('');
// ...pour pouvoir utiliser les méthodes des tableaux
// et ainsi "retourner" facilement le mot
palindrome = palindrome.reverse().join('');
// On teste si le mot retourné est égal au mot
@jeremymouzin
jeremymouzin / challenge6.js
Created June 30, 2020 19:45
Challenge 6 du Challenge JavaScript 10 jours de Scrimba
// Solution simple via concaténation
function encloseInBrackets(chaine) {
return '(' + chaine + ')';
}
// Solution simple via template strings
function encloseInBrackets(chaine) {
return `(${chaine})`;
}
@jeremymouzin
jeremymouzin / challenge7.js
Created July 1, 2020 13:03
Challenge 7 du Challenge JavaScript 10 jours de Scrimba
// Solution classique grâce à la récursivité
function factorialNumber(num) {
if (num !== 1) {
return num * factorialNumber(num - 1);
} else return 1;
}
// Solution sans récursivité
function factorialNumber(num) {
let resultat = 1;
@jeremymouzin
jeremymouzin / challenge8.js
Created July 2, 2020 21:14
Challenge 8 du Challenge JavaScript 10 jours de Scrimba
// Version lisible pour les débutants
// Gère les espaces dans chaine
function firstDigit(chaine) {
for (caractere of chaine) {
if ("0123456789".includes(caractere)) {
return caractere;
}
}
}
@jeremymouzin
jeremymouzin / challenge9.js
Created July 3, 2020 11:59
Challenge 9 du Challenge JavaScript 10 jours de Scrimba
// Version lisible pour les débutants
function largestNumber(num) {
// On concatène plusieurs 9 côte à côte
const nombreChaine = '9'.repeat(num);
// On convertit la chaîne en un nombre
return Number(nombreChaine);
}
// Version compacte de la solution précédente
function largestNumber(num) {