Vous êtes sur la page 1sur 12

A s s o c i a t e d A r r ays

J AVA S C R I P T (Programmation Internet) V O L . X X I I

J.B. Dadet DIASOLUKA Luyalu Nzoyifuanga


+243 - 851278216 - 899508675 - 995624714 - 902263541 - 813572818
diasfb@mail2world.com

LES « ASSOCIATIVE ARRAYS »


( « ARRAYS ASSOCIATIVES » ou « TABLEAUX ASSOCIATIFS ») :

C’est comme leur nom l’indique, des arrays sous forme de littéral d’objet
et dans lesquels naturellement les values (éléments) sont explicitement as-
sociées à des keys, comme dans les « littéraux d’objet » ordinaires dans
lesquels c’est le programmeur qui détermine les noms des keys (on associe
explicitement des noms de keys littéraux à des values). Dans une Array les
keys sont automatiquement numérotées « de 0 à n », à partir du premier
élément de l’array.

Une « Array associative » est définie dans des « accolades » (exactement


comme un « objet hash ») et non avec des « crochets » comme pour les
« Arrays ».

<script type="text/javascript"> "use strict";


console.log(["dias","luy","nzoyif"])
console.log({0:"dias",1:"luy",2:"nzoyif"})
</script>

Exécution avec Firefox Quantum 64.0b13 :


J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-XXII

Exécution avec Yandex Version 18.11.0.2022 beta :

Mais qu’est-ce que vous me dites-là ? Vous ne connaissez toujours pas en-
core ce que sont les « keys » et les « values » ?

Les « keys » sont les libellés qui permettent l’accès à un « values » de


l’array ou de l’objet (les deux d’ailleurs sont des objets), ce sont des voies
d’accès aux values, comme les « variables » permettent elles aussi
d’accéder aux « values » stockées dans la RAM de l’ordinateur. D’ailleurs
on peut aussi changer les values dans une « array » ou un « objet ».
Associated Arrays - 2/12 - mercredi, 23. janvier 2019 (6:30 )
J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-XXII
« keys » et « values »

Voyons :

<script type="text/javascript"> "use strict";


const a = ["dias","luy","nzoyif"];
console.dir(`a = ${a},
Object.entries(a) = ${Object.entries(a)},
Object.keys(a) = ${Object.keys(a)},
Object.values(a) = ${Object.values(a)}`
);

const o =
{nom:"dias",postnom1:"luy",postnom2:"nzoyif"};
console.dir(`o = ${o},
Object.entries(o) = ${Object.entries(o)},
Object.keys(o) = ${Object.keys(o)},
Object.values(o) = ${Object.values(o)}`
);
</script>

Ceci a été affiché avec la méthode de l’objet « String », puisque que nous
l’avons affiché en tant que chaîne de caractères, ici dans une « littérale de
chaîne ».

Synoptique mais beurk ? Dans ce cas affichons cela avec la méthode res-
pective de chaque élément, en les séparant avec des virgules !

<script type="text/javascript"> "use strict";


const a = ["dias","luy","nzoyif"];
console.dir(`a = `, a,
`Object.entries(a) = `, Object.entries(a),
`Object.keys(a) = `, Object.keys(a),
Associated Arrays - 3/12 - mercredi, 23. janvier 2019 (6:30 )
J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-XXII
`Object.values(a) = `, Object.values(a)
);

const o = {
"nom":"dias","postnom1":"luy","postnom2":"nzoyif"
};
console.dir(`o = `, o,
`Object.entries(a) = `, Object.entries(a),
`Object.keys(a) = `, Object.keys(a),
`Object.values(a) = `, Object.values(a)
);

console.log("Object.entries(a)[0] = ",
Object.entries(a)[0], Object.entries(a)["0"]);

console.log("Object.entries(o)[0] = ",
Object.entries(o)[0], Object.entries(o)[0]);

console.log("Object.entries(a)[0] = ",
Object.entries(a)[0][0], Object.entries(a)[0][1]);

console.log("Object.entries(o)[0] = ",
Object.entries(o)[0][0], Object.entries(o)[0][1]);

console.log("Object.keys(a)[0] = ",
Object.keys(a)[0], Object.keys(a)["0"]);

console.log("Object.keys(o)[0] = ",
Object.keys(o)[0], Object.keys(o)[0]);

console.log("Object.values(a)[0] = ",
Object.values(a)[0], Object.values(a)["0"]);

console.log("Object.values(o)[0] = ",
Object.values(o)[0], Object.values(o)[0]);

console.log("Object.values(o)'[nom...'] = ",
o['nom'], o['postnom1'], o['postnom2']);
</script>

Exécution avec Firefox Quantum 64.0b13 :

Pour l’Array « a » :

Associated Arrays - 4/12 - mercredi, 23. janvier 2019 (6:30 )


J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-XXII

Pour l’objet « o » :

Associated Arrays - 5/12 - mercredi, 23. janvier 2019 (6:30 )


J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-XXII

Mais alors, qu’est-ce qu’une « Associated Array » ?

Vulgairement parlant, c’est ni plus ni moins, un « littéral d’objet » sans


« propriétés » et sans « méthodes » ajoutées.

Les éléments d’une « Array associative » sont dynamiquement ajoutés


avec la syntaxe suivante :

arrayAssociative["key"] = value;

alors que pour un objet ça se fait avec la syntaxe suivante :

objet . "key" = value;

<script type="text/javascript"> "use strict";


const a = {"nom":"dias", "prenom1":"luy"};
console.log(`a = `, a) ;
console.log(`a["nom"] = `, a["nom"]) ;

Associated Arrays - 6/12 - mercredi, 23. janvier 2019 (6:30 )


J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-XXII
console.log(`a["prenom1"] = `, a["prenom1"]);

const e1 = 'a["prenom2"] = "nzoyif"';


// Assignation pour Array associative.

console.log(``.padStart(5,"*"),`${e1} => ${eval(e1)}`);

console.dir(`a = `, a);
console.dir(`a["nom"] = ${a["nom"]}
a["prenom1"] = ${a["prenom1"]} // Notez les crochets
a.prenom2 = ${a.prenom2} // Notez le point`
);

console.log("=".repeat(25));

const o = { "nom":"dias","prenom1":"luy" };
console.log(`o = `, o) ;
console.log(`o["nom"] = `, o["nom"]) ;
console.log(`o["prenom1"] = `, o["prenom1"]);

const e2 = 'o.prenom2 = "nzoyif"';


// Assignation pour objet hash.

console.log(``.padStart(5,"*"),`${e2} => ${eval(e2)}`);

console.dir(`o = `, o);
console.dir(`o["nom"] = ${o["nom"]} // Notez les crochets
o.prenom1 = ${o.prenom1} // Notez le points.
o["prenom2"] = ${o["prenom2"]}`
);
</script>

Pour l’Array Associative :

Associated Arrays - 7/12 - mercredi, 23. janvier 2019 (6:30 )


J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-XXII

Pour l’objet :

Une des caractéristiques de JavaScript c’est la « PLÉTHORISATION »


des possibilités, peut-être pour répondre aux habitudes diversifiées de plu-
sieurs programmeurs venant des plates-formes différentes !

Kinshasa, le mercredi, 23. janvier 2019 (6:30 ).

Associated Arrays - 8/12 - mercredi, 23. janvier 2019 (6:30 )


J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-XXII

Mots-clés :

Arrays typées, ArrayBuffer, Associative Array, tableaux asso-


ciatifs, tableau associatif, Arrays associative, Arrays associa-
tives, littéraux d’objet, objet hash, littérale de chaîne, littéral
d’objet, pléthorisation, JavaScript, EcmaScript

DIASOLUKA Nz. Luyalu


Docteur en Médecine, Chirurgie & Accouchements (1977),
CNOM : 0866 - Spécialiste en ophtalmologie (1980)
Études humanités : Scientifique - Mathématiques & Physique.
Informaticien-amateur, Programmeur et WebMaster.

Chercheur indépendant, autonome et autofinancé,


bénévole, sans aucun conflit d’intérêt ou liens
d'intérêts ou contrainte promotionnelle avec qui
qu’il soit ou quelqu’organisme ou institution /
organisation que ce soit, étatique, paraétatique ou
privé, industriel ou commercial en relation avec le
sujet présenté.

+243 - 851278216 - 899508675 - 991239212 - 902263541 - 813572818

diasfb@mail2world.com

Autre Lecture :
https://www.scribd.com/document/374738470/Le-Plus-Grand-Secret-de-La-
Creation

Associated Arrays - 9/12 - mercredi, 23. janvier 2019 (6:30 )


J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-XXII
D’autres publications pouvant aussi intéresser :

• https://www.scribd.com/document/377036251/Le-
Dosage-Des-Medicaments-en-Cac-Cas
• https://www.scribd.com/document/377035454/Le-
Hasard-Des-Thermometres-Non-contact-a-Infrarouge
• https://www.scribd.com/document/376222482/Petite-
Introduction-Aux-Fonctions-JavaScript
• https://www.scribd.com/document/376221919/La-Foi-
en-Jesus-Christ-Pour-Quoi-Faire
• https://www.scribd.com/document/375689778/Lacuite-
visuelle-angulaire
• https://www.scribd.com/document/375349851/La-
variable-This

https://www.scribd.com/document/375024162/Fonctions-
Imbriquees-en-JS
• https://www.scribd.com/document/374789297/Format-
Interne-Des-Objets-JavaScript

https://www.scribd.com/document/374788758/Iterations-
en-JavaScript
• https://www.scribd.com/document/374738470/Le-Plus-
Grand-Secret-de-La-Creation
• https://www.scribd.com/document/374597969/Nouvelle-
Formule-d-IMC-indice-de-doduite-Selon-Dr-Diasoluka
• https://www.scribd.com/document/373847209/Property-
Descriptors
• https://www.scribd.com/document/373833282/l-Objet-
Associated Arrays - 10/12 - mercredi, 23. janvier 2019 (6:30 )
J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-XXII
Global-Window

https://www.scribd.com/document/372665249/Javascript-
Tome-II
• https://www.scribd.com/document/355291488/motilite-
oculaire-2
• https://www.scribd.com/document/355291239/motilite-
oculaire-I
• https://www.scribd.com/document/355290248/Script-d-
Analyses-Des-Reflexes-Pupillomoteurs

https://www.scribd.com/document/321168468/Renseigne
ments-Id-et-Anthropometriques

https://www.scribd.com/document/320856721/Emission-
31-Jul-2016

https://www.scribd.com/document/318182982/Complicati
on-Visuelle-du-Traitement-de-La-Malaria
• https://www.scribd.com/document/318180637/Rapport-
Entre-Oxymetrie-Et-Type-Respiration

https://www.scribd.com/document/315746265/Classificati
on-Des-Medicaments

https://www.scribd.com/document/315745909/Incongruen
ces-Heresies-et-Heterodoxies-de-la-Notion-de-
Laboratoire
• https://www.scribd.com/document/315745725/Rapport-
Associated Arrays - 11/12 - mercredi, 23. janvier 2019 (6:30 )
J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-XXII
Entre-Oxymetrie-Et-Type-Respiration

Associated Arrays - 12/12 - mercredi, 23. janvier 2019 (6:30 )