Bonjour,
En partant de mon code existant ci dessous, je me pose plusieurs questions

Voici le code ( 100% fonctionnel )
Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
var myMap = new Map();
var ttwLast = "T+ 0:00";
var twaLast = null;
 
function space(val) {
    if (val < 10) {
        val = " " + val;
    }
    return val;
}
 
function genIteNext (ttwCurr) {
    var ttwCurr = ttwCurr.match(/.*?([0-9]{1,3}):([0-9]{2})/);
    var ttwNext = [];
    if ((parseFloat(ttwCurr[2]) + 10) < 60) {
        ttwNext = "T+" + space (parseFloat(ttwCurr[1])) + ":" + ("0" + (parseFloat(ttwCurr[2]) + 10)).slice(-2);
    } else {
        ttwNext = "T+" + space (parseFloat(ttwCurr[1]) + 1) + ":" + ("0" + (parseFloat(ttwCurr[2]) + 10) % 60).slice(-2);
    }
    return ttwNext;
}
 
for (var i = 0; i < points.length; i++) {
    while (points[i].ttw !== ttwLast) {
        twaMap.set (ttwLast, twaLast);
        ttwLast = genIteNext(ttwLast);
    }
    twaLast = points[i].twa;
    ttwLast = points[i].ttw;
    myMap.set(points[i].ttw, points[i].twa);
}
console.log(myMap);

Ce code me génère une map ayant pour clé ttw et pour valeur twa.

J'ai besoin d'une autre map ayant pour clé ttw et pour valeur btw, je peux la créer assez facilement en modifiant quelques petites choses mais j'aimerais éviter les répétitions.
Je sais que nativement, il n'est pas possible de générer une map avec une clé et deux valeurs.

La première question est via une librairie additionnelle est il possible de générer une map sous la forme (clé, valeur1, valeur2) ce qui pour moi donnerait (ttw, twa, btw) ce qui serait assez facile à mettre en oeuvre dans le code ci dessus.

La seconde question est si oui ou je peux trouver cette librairie ?

La troisième et dernière question, est ce que en voulant me simplifier la vie je suis pas en train de faire tout l'inverse et que je ferais mieux de rester sous forme de tableau ?

Merci