L'épissage une chaîne de tableau indexé dans JavaScript
J'ai une chaîne de tableau indexé que je voudrais supprimer un élément de.
Considérer l'exemple de code suivant:
var arr = new Array();
arr[0] = "Zero";
arr[1] = "One";
arr[2] = "Two";
arr.splice(1, 1);
for (var index in arr)
document.writeln(arr[index] + " ");
//This will write: Zero Two
var arr = new Array();
arr["Zero"] = "Zero";
arr["One"] = "One";
arr["Two"] = "Two";
arr.splice("One", 1); //This does not work
arr.splice(1, 1); //Neither does this
for (var index in arr)
document.writeln(arr[index] + " ");
//This will write: Zero One Two
Comment puis-je supprimer "Un" dans le deuxième exemple comme je l'ai fait en premier?
double possible de Trouver tous les modèles regex et l'index de la correspondance dans la chaîne de caractères
OriginalL'auteur Michael | 2009-06-04
Vous devez vous connecter pour publier un commentaire.
La bonne façon de le faire ce n'est pas avec un Tableau, mais un objet:
non, il n'est pas, ce n'est pas la modification de la matrice. N'arr.longueur après l'ajout de votre valeur, et avant de le supprimer.
Je vois. Mais alors qu'est-ce qui se passe? jsfiddle.net/6abLj89b/1
Vous confondez les Objets et les Tableaux, et puis à l'intérieur des tableaux les différences entre les supprimer vs splice: stackoverflow.com/questions/500606/...
Non, ne prête pas à confusion. Il suffit de ne pas savoir comment il fonctionne. Mais le lien que vous avez posté donne une bonne explication. Très utile dans la lutte contre cette menace.
OriginalL'auteur Paolo Bergantino
Une fois un Tableau a des clés de chaîne (ou nombres qui ne suivent pas), il devient un Objet.
Un objet de ne pas avoir la méthode splice (ou pas le même que le Tableau). Vous devez écrire votre propre, par la fabrication d'un objet et à le copier sur la clé que vous souhaitez conserver.
Mais attention ! Les touches ne sont pas toujours ordonnées de la même manière qu'ils ont été ajoutés dans l'objet ! Il dépend du navigateur.
OriginalL'auteur Fabien Ménager