Comment fusionner des Maps en TypeScript

Fusionner des maps en TypeScript #

Fusionner les Maps en TypeScript :

  1. Tapez explicitement les clés et les valeurs de la troisième Map.
  2. Utilisez la syntaxe étendue (…) pour décompresser les paires clé-valeur des deux premières
    cartes.
  3. Les types des clés et des valeurs des cartes doivent correspondre.
const map1 = new Map([['country', 'Germany']]);
const map2 = new Map([['salary', 100]]);

const map3 = new Map<string, string | number>([...map1, ...map2]);


console.log(map3);

Nous avons utilisé un
générique
pour saisir les clés et les valeurs du troisième objet Map.

Nous aurions pu faire la même chose pour les deux premières cartes, mais ce n’était pas nécessaire, car TypeScript était capable de déduire le type sur la base des valeurs transmises.

L’extrait de code suivant permet d’obtenir le même résultat.

const map1 = new Map<string, string>([['country', 'Germany']]);
const map2 = new Map<string, number>([['salary', 100]]);

const map3 = new Map<string, string | number>([...map1, ...map2]);


console.log(map3);

La première Map a des clés de type string et des valeurs de type string.

La deuxième carte a des clés de type string et des valeurs de type number.

Lorsque nous fusionnons les cartes, nous devons nous assurer que le type de la troisième carte est conforme aux types des deux autres.

L’exemple montre comment nous avons dû utiliser un
type d’union
pour définir les valeurs de la troisième carte comme étant des chaînes de caractères ou des nombres.

Nous avons utilisé l’opérateur
opérateur d’étalement (…)
pour décompresser les paires clé-valeur de 2 Map dans un tableau.

const map1 = new Map<string, string>([['country', 'Germany']]);


console.log([...map1]);

Le tableau contient des tableaux imbriqués composés de paires clé-valeur.

La dernière étape consiste à transmettre le tableau à la méthode
Map()
qui prend un itérable comme paramètre.

Avec les valeurs en place, l’exemple ressemble à ceci :

const map3 = new Map<string, string | number>([
  ['country', 'Germany'],
  ['salary', 100],
]);

L’itérable, le Map doit consister en des paires clé-valeur, par exemple un tableau bidimensionnel ou un autre type de tableau.
dimensionnel ou un autre tableau Map objet.

Ce processus peut être répété avec autant Map d’objets que nécessaire, tant que
que le type de la carte finale soit conforme aux types des autres cartes.

const map1 = new Map<string, string>([['country', 'Germany']]);
const map2 = new Map<string, number>([['salary', 100]]);
const map3 = new Map<string, boolean>([['isProgrammer', true]]);

const map4 = new Map<string, string | number | boolean>([
  ...map1,
  ...map2,
  ...map3,
]);

Le type des valeurs de la quatrième carte doit être compatible avec le type des valeurs de toutes les autres cartes.
les valeurs de toutes les autres cartes.

Notez que l’ordre d’insertion des clés est préservé. Si vous devez réorganiser les paires
paires clé-valeur, il suffit de changer l’ordre dans lequel l’opérateur d’étalement (…) est
utilisé.

Laisser un commentaire