Trouver la fonction qui ne garde que les valeurs de t non incluse dans e
let e = [2,3,4],
t = [0,2,2,6,1,3];
résultat : [0, 6, 1]
Code
mardi 31 décembre 2019
dimanche 29 décembre 2019
Range
Code
Une version plus simple: step = 1 par défaut
Une version plus simple: step = 1 par défaut
A lire
Il y a une fonction de base : lign 284 function baseRange()
et une closure lign 336 : function createRange()
vendredi 27 décembre 2019
TD Filtre
"0 : 35 ans"
"1 : 36 ans"
"2 : 40 ans"
"3 : 43 ans"
let i = 1;
for (let pers of tabPers) {
console.log(`${i++} : ? ans`);
}
let i = 1;
for (let { ? } of tabPers) {
console.log(`${i++} : ${a} ans`);
}
let tabPersF = [];
for (let { age, sex } of tabPers) {
if ( ? ) {
tabPersF.push( ?); // stocker l'âge
}
}
TD filtre map and co
Ajouter un point à chaque élève en utilisant un tableau:
let etudiant_1 = 12,
etudiant_2 = 15,
etudiant_3 = 17,
etudiant_4 = 8;
const TAB = [etudiant_1,etudiant_2,etudiant_3,etudiant_4];
function parcours(tab,fx){
let passed = [];
for(let val of tab){
passed.push(fx(val));}
return(passed);
}
function add(x){
return(x+1);}
let t = parcours(TAB,add);
code
Ajouter un point à chaque élève en utilisant un tableau d'objets :
let etudiant_1 = {note :12},
etudiant_2 = {note:15},
etudiant_3 = {note: 17},
etudiant_4 = {note:8};
let etudiant_5 = {note :10},
etudiant_6 = {note:3},
etudiant_7 = {note: 19},
etudiant_8 = {note:14};
const TAB = [etudiant_1,etudiant_2,etudiant_3,etudiant_4];
const TAB2 = [etudiant_5,etudiant_6,etudiant_7,etudiant_8];
function parcours(tab,fx){
let passed = [];
for(let val of tab){
passed.push(fx(val));}
return(passed);
}
function add({note}){
return (note + 1);}
let r = parcours(TAB,add);
let b = parcours(TAB2,add);
code
Etude du code :
let T = [2,3,-1]
function forEach(array, fx) {
for (let i = 0; i < array.length; i++)
fx(array[i],i,array);
}
function bonus(v,i,t){
if (v>0) t[i]+=(t[i]*0.2);
let etudiant_1 = 12,
etudiant_2 = 15,
etudiant_3 = 17,
etudiant_4 = 8;
const TAB = [etudiant_1,etudiant_2,etudiant_3,etudiant_4];
function parcours(tab,fx){
let passed = [];
for(let val of tab){
passed.push(fx(val));}
return(passed);
}
function add(x){
return(x+1);}
let t = parcours(TAB,add);
code
Ajouter un point à chaque élève en utilisant un tableau d'objets :
let etudiant_1 = {note :12},
etudiant_2 = {note:15},
etudiant_3 = {note: 17},
etudiant_4 = {note:8};
let etudiant_5 = {note :10},
etudiant_6 = {note:3},
etudiant_7 = {note: 19},
etudiant_8 = {note:14};
const TAB = [etudiant_1,etudiant_2,etudiant_3,etudiant_4];
const TAB2 = [etudiant_5,etudiant_6,etudiant_7,etudiant_8];
function parcours(tab,fx){
let passed = [];
for(let val of tab){
passed.push(fx(val));}
return(passed);
}
function add({note}){
return (note + 1);}
let r = parcours(TAB,add);
let b = parcours(TAB2,add);
code
Etude du code :
let T = [2,3,-1]
function forEach(array, fx) {
for (let i = 0; i < array.length; i++)
fx(array[i],i,array);
}
function bonus(v,i,t){
if (v>0) t[i]+=(t[i]*0.2);
}
function malus(v,i,t){
if (v<0) t[i]+=(t[i]*0.2);
}
forEach(T, bonus);
forEach(T, malus);
Une autre version du code:
let T = [2,3,-1]
function forEach(array, fx) {
let passed = [];
for (let val of array){
passed.push(fx(val));}
console.log(passed);
}
function bonus(v){
if (v>0) v+=(v*0.2);
return(v);
}
function malus(v){
if (v<0) v+=(v*0.2);
return(v);
}
forEach(T, bonus);
forEach(T, malus);
function malus(v,i,t){
if (v<0) t[i]+=(t[i]*0.2);
}
forEach(T, bonus);
forEach(T, malus);
Le tableau array passé en paramètre est modifié.
Les fonctions bonus et malus pointent sur les valeurs du tableau.
La fonction forEach(T,malus) s'exécute sur la tableau array préalablement modifié par forEach(T,bonus).
Une autre version du code:
let T = [2,3,-1]
function forEach(array, fx) {
let passed = [];
for (let val of array){
passed.push(fx(val));}
console.log(passed);
}
function bonus(v){
if (v>0) v+=(v*0.2);
return(v);
}
function malus(v){
if (v<0) v+=(v*0.2);
return(v);
}
forEach(T, bonus);
forEach(T, malus);
Dans cette version, il y a création d'un nouveau tableau rempli de valeurs calculées à l'aide de fonctions qui prennent en paramètre une recopie des valeurs du tableau initial.
Ces fonctions retournent une nouvelle valeur, indépendante de celle du tableau initial qui n'est pas modifié.
jeudi 26 décembre 2019
Objet.assign
Bien comprendre la différence entre :
var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };
var obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1); // { a: 1, b: 2, c: 3 }, l'objet cible est aussi modifié
et
var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };
var obj = Object.assign({},o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1); // { a: 1, b: 2, c: 3 }, l'objet cible n'est pas modifié
Les propriétés communes sont assignées selon l'ordre des paramètres
var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };
var obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1); // { a: 1, b: 2, c: 3 }, l'objet cible est aussi modifié
et
var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };
var obj = Object.assign({},o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1); // { a: 1, b: 2, c: 3 }, l'objet cible n'est pas modifié
Les propriétés communes sont assignées selon l'ordre des paramètres
TOP révisions - Convertisseur
Nous voudrions à partir d'un tableau de température en degré ℃ obtenir les valeurs en degré °F. Ou encore convertir un tableau de prix en € en $.
Code
Code
mardi 24 décembre 2019
TOP révisions - Transforme
Ce code permet:
Fonction filter qui prend en paramètre le tableau à filtrer et le test
Fonction homme qui prend en paramètre le sexe
Refaire le code en utilisant des fonctions pour la civilité, l'âge, etc...
T = transf(tabPers,setAge) : affiche le tableau d'objets qui contient l'âge
setAge() : permet d'ajouter l'attribut âge
transf() : renvoie le tableau d'objet qui contient les âges
homme(): renvoie 1 si homme, 0 sinon
filter(T, homme) : filtre les hommes
printCiviliteH : ajoute "MR" devant le nom des hommes
transf(tH, printCiviliteH): renvoie "MR" + nom
getAge() : renvoie l'âge
transf(tHM, getAge) : affiche un tableau d'âges
tHM = filter(tH, majeur) : filtre les personnes majeures
transf(tHM, getAge) : affiche le nom des personnes majeures
transf(thM, getAge) : affiche l'âge des personnes majeures
- d'ajouter l'attribut âge à chaque objet
- d'afficher le nom des hommes avec leur civilité "MR"
- d'afficher le tableau contenant l'âge de tous les individus
- d'afficher le nom des personnes majeures
Fonction filter qui prend en paramètre le tableau à filtrer et le test
Fonction homme qui prend en paramètre le sexe
Refaire le code en utilisant des fonctions pour la civilité, l'âge, etc...
T = transf(tabPers,setAge) : affiche le tableau d'objets qui contient l'âge
setAge() : permet d'ajouter l'attribut âge
transf() : renvoie le tableau d'objet qui contient les âges
homme(): renvoie 1 si homme, 0 sinon
filter(T, homme) : filtre les hommes
printCiviliteH : ajoute "MR" devant le nom des hommes
transf(tH, printCiviliteH): renvoie "MR" + nom
getAge() : renvoie l'âge
transf(tHM, getAge) : affiche un tableau d'âges
tHM = filter(tH, majeur) : filtre les personnes majeures
transf(tHM, getAge) : affiche le nom des personnes majeures
transf(thM, getAge) : affiche l'âge des personnes majeures
lundi 23 décembre 2019
Tableau de cartes
Compléter le code pour créer un tableau contenant les cartes d’un jeu de (4*13 = )52.
let dictionnary = { 'H': '\u2665', 'C': '\u2663', 'D': '\u2666', 'S': '\u2660', 1: 'A', 11: 'J', 12: 'Q', 13: 'K'};
function cardToString({suit,value}) { //
if (!dictionnary[value]==0) value=dictionnary[value];
return value+dictionnary[suit];
}
const cards = [],suits = ['H', 'C', 'D', 'S'];
for (let val of suits){
for (let j =1; j<14; j++){
let suit = val;
let value = j;
cards.push({ suit,value });
}
}
for (let c of cards){
console.log(`${c.suit}${c.value}`);
}
for (let c of cards){
console.log(`${cardToString(c)}`);
}
Code
Oh ça marche !
Suite TD structure de contrôle
Compléter le code pour donner la catégorie d’un couleur.
Aperçu du code
Code
Compléter le corps de la fonction decrease pour avoir les cas test suivant.
|
A l'aide
Compléter le code pour afficher le prompt tant que l’on ne saisit pas un code avec 2 chiffres consécutifs.
let code;
? {
code = prompt(`Entrez un code avec 2 nombres consécutifs`);
} ?
On pourra utiliser le test
!/(?:[0-9]{2}).*/.test(code);
dimanche 22 décembre 2019
TD Structures de contrôle
Ecrire avec des if else if, la recherche d’une année bissextile
Code
Exercice for...of
Code
Aperçu |
Ecrire une boucle avec for of pour afficher les valeurs en majuscule du tableau T.
var T = ["j","s","b","i","n"];
For...of |
Exercice for...of
Transformer la fonction suivante avec for … of
function findEvenNumber(arr) {
loop: { // Étudier les Label de boucle
for (let i=0, len = arr.length; i<len; i++) {
let elem = arr[i];
if ((elem % 2) === 0) {
console.log(`trouvez : ${elem}`);
break loop;
}
}
console.log(`Pas de nb pair`);
}
console.log(`Fin`);
}
findEvenNumber([3,5,5,2]);
Inscription à :
Articles (Atom)
Contenu d'un noeud
Etude de la différence entre: Element. innerHTML: renvoie le HTML Element. textContent: renvoie le contenu textuel du noeud et de ses desce...
-
Dans ce code , Point est une fonction. Puis il y a une référence à Point pour redéfinir la fonction afin que notre objet ait un tableau de ...
-
Code Une version plus simple: step = 1 par défaut A lire https://uevecloud.univ-evry.fr/f/854996ba8e0a4c939e00/ Il ...
-
Etude de la différence entre: Element. innerHTML: renvoie le HTML Element. textContent: renvoie le contenu textuel du noeud et de ses desce...