Map en Action

  
Comment transformer :

[['eux', '   ', '   ' ],['A', 'B', 'C' ],['eux', '   ', '   ']]

en

[["eux", "A", "eux"],["   ", "B", "   "],["   ", "C", "   "]]


Aide

for of


let tabPers = 
[  
  {
    nom: "Dupont",
    sex : "f"},
  { 
    nom: "Brusel",
    sex : "h"},
  {
    nom: "Dupont",
    sex : "f"},  
];

Cas des pointeurs


for (let pers of tabPers){
  console.log(pers);
}




Cas de la déstructuration 

for (let nom } of tabPers){
  console.log(nom);
}

A chaque itération, nous aurons : 

{
    let [ FORMAL_PARAMETERS ] = [ ACTUAL_PARAMETERS ];
    {
         CODE
    }
}

ainsi

{
    let [ { nom } ] = [ { nom: "Dupont",sex:"f" } ];
    {
        console.log( nom );
    }
}

sera équivalent à 

{
    let [ { nom:nom } ] = [ { nom: "Dupont",sex:"f" } ];
    {
        console.log( nom );
    }
}

et 
{
    let [ {  nom } ] = [ { nom: "Dupont",sex:"f" } ];
    {
        console.log( nom );
    }
}







Tu pointes ou tu tires ?

Que veux dire filtrer un tableau ?

La modification d'un élément filtré modifie-t-elle le tableau initial ?


Visualize : outil d'aide

Voici un lien pour comprendre le clonage d'objets avec :

Object.assign( objDestination, objSource)


Visualisation


Les pointeurs et moi !

Voici des articles montrant le clonage d'éléments d'un tableau.



this et la fonction flechée

function normalise(){
let normaliseT = this.valeurs.map(function(v){
return v / this.nb;
});
console.log(`valeurs normalisées ${normaliseT}`);
}


const obj = {valeurs:[3,6,12], nb:3};
normalise.call(obj);

Solution à ce problème classique :

function normalise(){
    let normaliseT = this.valeurs.map(function(v){
        return v / this.nb;
    }.bind(this));
    console.log(`valeurs normalisées ${normaliseT}`);
}

const obj = {valeurs:[3,6,12], nb:3};
normalise.call(obj);


Avec une fonction fléchée : 


function normalise(){
    let normaliseT = this.valeurs.map(v => v / this.nb);
    console.log(`valeurs normalisées ${normaliseT}`);
}

const obj = {valeurs:[3,6,12], nb:3};
normalise.call(obj);


En action