Clés Iterables
importance: 5
Nous voulons obtenir un tableau de map.keys()
dans une variable puis lui appliquer des méthodes spécifiques aux tableaux, par ex: .push
.
Mais cela ne fonctionne pas :
let
map =
new
Map
(
)
;
map.
set
(
"name"
,
"John"
)
;
let
keys =
map.
keys
(
)
;
// Error: keys.push is not a function
keys.
push
(
"more"
)
;
Pourquoi ? Comment pouvons-nous corriger le code pour que keys.push
fonctionne ?
C’est parce que map.keys()
retourne un itérable, mais pas un tableau.
Nous pouvons le convertir en tableau en utilisant Array.from
:
let
map =
new
Map
(
)
;
map.
set
(
"name"
,
"John"
)
;
let
keys =
Array.
from
(
map.
keys
(
)
)
;
keys.
push
(
"more"
)
;
alert
(
keys)
;
// name, more