let z = groupBy(data,"cat");
groupBy
Révisions
reduce |
Object.entries |
Vous disposez d'un tableau d'articles. un article = {nom: String, cat: String, prix: Number}
data = [
{nom: 'coka', cat: 'Boisson', prix: 4}
{nom: 'farine', cat: 'Epicerie', prix: 4}
{nom: 'carotte', cat: 'Legume', prix: 9}
{nom: 'cafe', cat: 'Petit-dej', prix: 4}
{nom: 'jus de fruit', cat: 'Boisson', prix: 2}
{nom: 'choux', cat: 'Legume', prix: 2}
{nom: 'olives', cat: 'Epicerie', prix: 60}
{nom: 'veau', cat: 'Boucherie', prix: 40}
{nom: 'poireau', cat: 'Legume', prix: 2}
];
Donner
Le nombre d'articles.
Ajouter un attribut facture sous la forme prix.toLocaleString("fr-FR", { style: "currency", currency: "EUR" } pour chaque article
{ nom: 'carotte', cat: 'Legume', prix: 9, facture: '9,00 €' },
Afficher le tableau par ordre alpha des articles.
Les articles d'une "cat" donnée.
[
{ nom: 'carotte', cat: 'Legume', prix: 9, facture: '9,00 €' },
{ nom: 'choux', cat: 'Legume', prix: 2, facture: '2,00 €' },
{ nom: 'poireau', cat: 'Legume', prix: 2, facture: '2,00 €' }
]
Le coût du panier (total achat).
127
L'ensemble des "cat".
[ 'Petit-dej', 'Legume', 'Boisson', 'Epicerie', 'Boucherie' ]
Un objet donnant par "cat" le nombre d'articles.
{ 'Petit-dej': 1, Legume: 3, Boisson: 2, Epicerie: 2, Boucherie: 1 }
La "cat" qui a le plus d'articles.
{Legume: 3}
Un objet ou tableau donnant par "cat" un tableau d'articles.
[
'Petit-dej': [ 'cafe' ],
Legume: [ 'carotte', 'choux', 'poireau' ],
Boisson: [ 'coka', 'jus de fruit' ],
Epicerie: [ 'farine', 'olives' ],
Boucherie: [ 'veau' ]
]
Un objet donnant par "cat" un tableau des prix des articles.
[
'Petit-dej': [ 4 ],
Legume: [ 9, 2, 2 ],
Boisson: [ 4, 2 ],
Epicerie: [ 4, 60 ],
Boucherie: [ 40 ]
]
Un tableau d'objet avec par cat le total des prix des articles
[{"categorie":"Petit-dej","total":4}
,{"categorie":"Legume","total":15.3}
,{"categorie":"Boisson","total":2.4}
,{"categorie":"Epicerie","total":64}
,{"categorie":"Boucherie","total":40}]
Donner le coût du panier à partir du tableau précédent.
127
fetch GitHub fils
<!DOCTYPE html>
Async wait Promise
</html>
delete
const titi = "TITI";
Object.fromEntries
Exemples
const cours = { html: 12, css: 2, JS: 30 };
Object.entries(cours)
> Array [Array ["html", 12], Array ["css", 2], Array ["JS", 30]]
Object.fromEntries(Object.entries(cours))
> Object { html: 12, css: 2, JS: 30 }
En action
En action
- [object Object] {
A: ["Ange", "Ananas"],
B: ["Beau", "ballon"],
C: ["cool"]
}
regexp
function normalizeDataKey(key) {
destructuration, map
const arr = [{
` `
function test(lit,...sub){
modules
index.html
src
index.js
query.js
index.html
index.js
query.js
Server nodejs
sous powershell
> $env:PORT="8000"
> echo $env:PORT
8000
regexp
- const string = 'Favorite GitHub repos: dupontdenis/bureauwindows dupontdenis/HTML_TD3 v8/v8.dev',
- regex = /\b(?<owner>[a-z0-9]+)\/(?<repo>[a-z0-9\.]+)\b/g;
- for (const match of string.matchAll(regex)){
- console.log(`${match[0]} at ${match.index} with '${match.input}'`);
- console.log(`owner: ${match.groups.owner}`);
- console.log(`repo: ${match.groups.repo}`)
- }
Correction test
Voici la réponse au test https://dupontl3alt.blogspot.com/2021/04/test-5minutes.html
Reduce : sortir du reduce !
Nous voudrions faire la somme d'un tableau jusqu'au moment où la somme dépasse une valeur
- const array = [1,2,3,4,5,6];
- const x = array.slice(0).reduce((acc, curr, i, tab) => {
- if (acc>5) {
- tab.splice(1);
- console.count(`tab = ${tab}`); //ne marche pas sur pythontutor
- return acc;
- }
- console.count(`tab = ${tab}`);
- return (acc += curr);
- });
- console.log("total ", x, "\noriginal Arr: ", array);