Pour Déb ut a n t s
JAVASCRIPT
(Programmation Internet)
VOL. XXII
J.B. Dadet DIASOLUKA Luyalu Nzoyifuanga
+243 - 851278216 - 899508675 - 995624714 - 902263541 - 813572818
diasfb@mail2world.com
LES « Maps » && « WeakMaps » :
Les « Maps » sont des « Arrays » presque comme des « Associative Ar-
rays », leurs données sont regroupées dans des couples « key : value ».
Deux différences cest que
1. Dans les « Maps » les couples « key : value » sont regroupés dans
des Arrays à seulement ces deux éléments, ces couples étant séparés entre
eux par une virgule ;
2. Le tout est délimité/regroupé dans une grande array le « Map » dé-
limitée par des crochets au lieu des accolades contrairement aux « Associa-
tives Arrays ».
<script type="text/javascript"> "use strict";
var map = new Map([
['a', 20], [Date.now(), 54],
[45, Date.now()], [18, 'c']
]);
console.log(map);
// Map(4) {
// a -> 20, 1544283193937 -> 54,
// 45 -> 1544283193937, 18 -> "c"
// }
for(var el of map) console.log(el);
var t=`${"Keys".padEnd(7," ")} = | `;
for(var cle of map.keys()) t += cle + ` | `;
console.log(t);
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-XXII
Maps && WeakMaps
- 2/27 - mardi, 26. mars 2019 (1:59 )
var t=`${"Values".padEnd(7," ")} = * `;
for(var val of map.values()) t += val + ` * `;
console.log(t);
</script>
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-XXII
Maps && WeakMaps
- 3/27 - mardi, 26. mars 2019 (1:59 )
Quelques méthodes de lobjet « Map ( ) » :
<script type="text/javascript"> "use strict";
var a = [Date.now()];
console.log(a); // Array [ 1544273035052 ]
var map = new Map([['a', 20], [18, 35], [91, 54]]);
console.log(map);
// Firefox : Map { a -> 20, 18 -> 35, 91 -> 54 }
// Yandex : Map(2) {"a" => 20, 18, 91 -> 54 => 35}
map.set(a, 64).set(true, 85);
console.log(map);
// Map(4) { a -> 20, 18 -> 35, 91 -> 54, (1) […] -> 64,
true -> 85 }
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-XXII
Maps && WeakMaps
- 4/27 - mardi, 26. mars 2019 (1:59 )
// Map(4) {"a" => 20, 18 => 35, 91 -> 54, Array(1) => 64,
true => 85}
console.log(map.size); // => 5
console.log(map.has(a)); // => true
console.log(map.has([1])); // => false
console.log(map.get(a)); // => 64
console.log(map.get(18)); // => 35
console.log(map.get(true)); // => 85
let k="+ ", v="* ";
map.forEach(function (val, key) {
v+=val + ` * `;
k+=key + ` + `;
});
console.log(k);
// => + a + 18 + 91 + 1544274283091 + true +
console.log(v);
// => * 20 * 35 * 54 * 64 * 85 *
map.delete(a);
console.log(map.size); // => 4
console.log(map.get(a)); // => undefined
console.log(Array.from(map));
// Firefox :
// => Array(4) [ (2) […], (2) […], (2) […], (2) […] ]
// (4) […]
// 0: Array [ "a", 20 ]
// 1: Array [ 18, 35 ]
// 2: Array [ 91, 54 ]
// 3: Array [ true, 85 ]
// length: 4
// <prototype>: Array []
//
// Yandex :
// => (4) (4) [Array(2), Array(2), Array(2), Array(2)]
// 0: (2) ["a", 20]
// 1: (2) [18, 35]
// 2: (2) [91, 54]
// 3: (2) [true, 85]
// length: 4
// __proto__: Array(0)
var map = new Map([
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-XXII
Maps && WeakMaps
- 5/27 - mardi, 26. mars 2019 (1:59 )
['a', 56], [Date.now(), 40],
[78, 'c'], [41, Date.now()]
]);
console.log(map);
// Map(4) { a -> 56, 1544277041459 -> 40,
// 78 -> "c", 41 -> 1544277041459 }
let kya=[], vla=[];
for (var [cle, valeur] of map) {
kya=kya.concat(cle);
vla.push(valeur);
}
console.log(kya);
// Array(4) [ "a", 1544277173449, 78, 41 ]
console.log(vla);
// Array(4) [ 56, 40, "c", 1544277173449 ]
let vl = [];
for (let valeurs of map.values()){
vl=vl.concat(valeurs);
}
console.log(vl);
// Array(4) [ 56, 40, "c", 1544277643496 ]
let ky = [];
for (var cles of map.keys()){
ky.push(cles);
}
console.log(ky);
// => Array(4) [ "a", 1544277741029, 78, 41 ]
</script>
Lisez les commentaires dans le code ci-dessous :
<script type="text/javascript"> "use strict";
var a = [Date.now()];
console.log(a); // Array [ 1544273035052 ]
var map = new Map([['a', 20], [18, 35], [91, 54]]);
console.log(map);
// Firefox : Map { a -> 20, 18 -> 35, 91 -> 54 }
// Yandex : Map(2) {"a" => 20, 18, 91 -> 54 => 35}
1 / 27 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !