JS - Chapitre 04 - Arrays Flashcards
Savoir si une variable est un array
Array.isArray(x);
Filtrage
Parcoure les éléments d’un tableau et recréer un tableau avec seulement les valeurs qui passe le test
Exemple Filtrage Nombre pair
const numbers = [1,2,3,4];
function isEven(n) {
return n%2==0;
}
const evenNumbers = numbers.filter(isEven);
Predicate function
fonction unaire qui renvoie vrai ou faux
Array contient une valeur
myArray.includes(“a”) => true / false
Mapping
application d’une transformation à une liste
Exemple Mapping * 3
const numbers = [1,2,3,4];
function triple(n) {
return n*3;
}
const numbersTriple= numbers.map(triple);
Mapping function
fonction unary prend une valeur et la transforme en une autre
Assembler toutes les string d’un tableau
myArray.join(‘’);
Aggregation
assembler les éléments d’un tableau en un seul élément
Exemple d’aggregation
const numbers = [1,2,3,4];
function add(total, n) {
return total+n;
}
const somme = numbers.reduce(add,0);
Tri
Sort d’un tableau avec un méthode de tri qui renvoie -1 (plus petit), 0 (égaux), (plus grand) 1
Fonctionnement Tri
Copy du tableau (car immutable) avec slice, puis sort avec une méthode de tri
sort pure ou impure?
sort est impure car il modifie les valeurs du tableau
Exemple de tri
const numbers=[1,3,4,2];
function asc(a,b) {
if (a===b) return 0
if (a<b) return -1
if a> b return 1
}
newtableau = numbers.slice().sort(asc);
Recherche tableau
find, findIndex, some, every,
fonctionnement find
chercher le premier et s’arrete
fonctionnement findIndex
premier et renvoi son index
fonctionnement every
s’arrête dès que la condition est fausse et renvoie false
fonctionnement some
Si au moins 1 vérifie (s’arrete à ce moment là)
forEach
function appliqué sur chaque élément du tablea
Exemple forEach
const numbers = [1,2,3];
function show(n) {
console.log(n); }
numbers.forEach(show);
Function impure
Modifie la valeur de la variable
Exemple de fonction impure
pop, push, unshift, shift
Empecher d’avoir des functions impure
Par linting
“functional/immutable-data”:”error”
Ajouter à un tableau immutable
Avec la méthode concat qui renvoie un nouveau tableau
newGames = games.concat([“Hitman”]);
Utilisation de l’opérateur spread “…”
newGames = […games, “Hitman”]; pas sur pour l’opérateur spread
Changer dans un tableau immutable
utilisation de map
const id = 1;
const newValue = {id, title:”warcraft”; }
const newGames = games.map(game => (game.id === id) ? newValue : game);
Supprimer dans un tableau immutable
const id = 1;
const newGames = games.filter(game => game.id !== id );
Opérateur spread
…