Bonjour,
Ci-dessus un petit code que je comprends pas.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 function whatIsInAName(collection, source) { var srcKeys = Object.keys(source); console.log(srcKeys) // filter the collection return collection.filter(function(obj) { let w = srcKeys .map(function(key) { return obj.hasOwnProperty(key) && obj[key] === source[key]; }); console.log(w) let x = w.reduce(function(a, b) { return a && b; }); /*let x = w.toString();*/ console.log(x) return x }); } let result = whatIsInAName( [ { first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" } ], { last: "Capulet" } ); console.log(result)
J'ai ajout� des variables pour voir ce que le code fait �tape par �tape.
Apparemment, ce que la m�thode reduce() voit en entr�e est un tableau [true] ou [false] et sa sortie est "true" ou "false".
Le code fonctionne avec les variables, donc ce n'est pas un probl�me.
Je ne comprends pas l'utilisation de map() et reduce() ici.
Pour moi, map() doit transformer un tableau, alors que l� on lui passe une condition et reduce() devrait r�duire un tableau � une valeur alors que l� j'ai l'impression qu'elle ne fait que transformer, par exemple, [true] en 'true'...
Je n'arrive pas � comprendre ce qu'il se passe exactement.
J'ai essay� de remplacer reduce() par :
Mais le code ne fonctionne plus, donc pour finir je pense que je ne comprends rien du tout.
Code : S�lectionner tout - Visualiser dans une fen�tre � part let x = w.toString()
Quelqu'un pour m'aider ?
Partager