Comme dit dans mon précédent post, il existe les Map en JS qui sont de vrais dictionnaire avec une api complète :
Donc oui il y a de vrais tableau associatif natif en JS.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Map.prototype.clear() Map.prototype.delete() Map.prototype.entries() Map.prototype.forEach() Map.prototype.get() Map.prototype.has() Map.prototype.keys() Map.prototype.set() Map.prototype.values() Map.prototype[@@iterator]()
N'importe qui ayant lue un minimum la doc est au courant que ça existe.
Aussi, si une fonctionnalité manque en JS, rien n'empêche de la créer soit même:
Sa fait partie des forces du langage, via les prototype on peux étendre un peux prés tout et n'importe quoi (mais bon, je présume que tu vas me dire que c'est dégueulasse et que c'est juste du bricolage de faire ce genre de chose).
Code : 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 Object.prototype.pop = function() { var ks = Object.keys(this); var last = ks[ks.length -1]; if(last == null) return null; var val = this[last]; delete this[last]; return val; }; var obj = { "key_a" : "val_a", "key_b" : "val_b", "key_c" : "val_c", }; console.log(obj.pop(), obj); //val_c, {key_a: "val_a", key_b: "val_b"}
Et sinon je vois pas en quoi le faite que les object en JS ne soit en faite que des dico soit dégueulasse, pour la énième fois JS c'est pas du C++ (ou tout autre langage POO par Class)... Il serait temps d'accepter que le JS est son propre mode de fonctionnement.
Partager