Comment supprimer la clé 'bar' d'un tableau foo pour que 'bar' n'apparaisse plus dans
for(key in foo){alert(key);}
Comment supprimer la clé 'bar' d'un tableau foo pour que 'bar' n'apparaisse plus dans
for(key in foo){alert(key);}
N'utilisez pas supprimer car elle ne supprimera pas un élément d'un tableau, elle le mettra seulement à l'état indéfini, ce qui ne sera pas reflété correctement dans la longueur du tableau.
Si vous connaissez la clé, vous devez utiliser épissure c'est-à-dire
myArray.splice(key, 1);
Pour quelqu'un dans la position de Steven, vous pouvez essayer quelque chose comme ça :
for (var key in myArray) {
if (key == 'bar') {
myArray.splice(key, 1);
}
}
o
for (var key in myArray) {
if (myArray[key] == 'bar') {
myArray.splice(key, 1);
}
}
@ThiefMaster - Vous pouvez m'expliquer ? Je ne sais pas ce que cela signifie et j'ai envie d'apprendre. Comme toujours, une modification est 1 000 000 000 fois mieux qu'un commentaire désinvolte ; vous devriez le savoir avec le nombre de représentants que vous avez.
Utilice for (var key in myArray)
au lieu de for (key in myArray)
- sinon key
est une variable globale et si vous appelez une fonction dans cette boucle qui a le même problème, vous obtiendrez des résultats inattendus.
Techniquement, cela ne répond pas à la question. il cherche à supprimer la clé 'bar'. et votre variable clé ne l'implique pas. :P
Faites PAS utiliser eval
. La suppression d'une clé ou d'un index d'un objet ou d'un tableau peut être réalisée par des méthodes beaucoup plus simples qui n'utilisent pas la fonction eval
.
Une note importante : les tableaux JavaScript ne sont pas des tableaux associatifs comme ceux auxquels vous êtes habitués en PHP. Si votre "clé de tableau" est une chaîne, vous n'opérez plus sur le contenu d'un tableau. Votre tableau est un objet, et vous utilisez la notation entre parenthèses pour accéder au membre nommé <nom de la clé>. Ainsi :
var myArray = \[\];
myArray\["bar"\] = true;
myArray\["foo"\] = true;
alert(myArray.length); // returns 0.
car vous n'avez pas ajouté d'éléments au tableau, vous avez seulement modifié les membres bar et foo de myArray.
http://www.internetdoc.info/javascript-function/remove-key-from-array.htm
removeKey(arrayName,key);
function removeKey(arrayName,key)
{
var x;
var tmpArray = new Array();
for(x in arrayName)
{
if(x!=key) { tmpArray[x] = arrayName[x]; }
}
return tmpArray;
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.