Bien que la réponse acceptée soit correcte, il manque l'explication de son fonctionnement.
Tout d'abord, votre code doit refléter le fait qu'il s'agit de PAS un tableau :
var myObject = new Object();
myObject["firstname"] = "Bob";
myObject["lastname"] = "Smith";
myObject["age"] = 25;
Notez que tous les objets (y compris Array
) peuvent être utilisés de cette manière. Cependant, ne vous attendez pas à ce que les fonctions de tableau standard de JS (pop, push,...) fonctionnent sur les objets !
Comme indiqué dans la réponse acceptée, vous pouvez alors utiliser delete
pour supprimer les entrées des objets :
delete myObject["lastname"]
Vous devez décider de la voie que vous souhaitez emprunter - soit utiliser des objets (tableaux associatifs / dictionnaires), soit utiliser des tableaux (cartes). Ne mélangez jamais les deux.
32 votes
Un conseil : ne confondez pas les tableaux et les cartes. Certains langages, comme le php, ont un seul objet pour les deux. Bien que vous ayez utilisé le bon type ici (new Object()) et que vous l'ayez nommé myArray, c'est juste une question de standards pour un langage.
0 votes
N'oubliez pas que JavaScript est sans type et que tout est un objet. Voir la réponse de Saul ci-dessous.
4 votes
@StephanKristyn - pour être précis, JS a des types mais dans une dynamique y faible façon. Par exemple, si ses variables sont effectivement sans typage, leurs valeurs ne le sont pas. C'est le dynamique partie. Faible indique que opérations entre différents types de valeurs ne sont pas strictement définis et reposent sur des conversions en coulisse ; par exemple
"Test" + {};
est une déclaration JS parfaitement valide.