Comment puis-je ajouter un tableau dans un tableau de tableaux à l'aide de jQuery?
J'ai un tableau comme ci-dessous:
var cString = [
['1','Techdirt','www.techdirt.com'],
['2','Slashdot','slashdot.org'],
['3','Wired','wired.com']
];
à ce tableau, je veux ajouter un autre dans le même format:
var test = ['4','Stackoverflow','stackoverflow.com']
J'ai essayé d'utiliser:
var newArray = $.merge(cString, test);
Mais console.log(newArray);
sorties:
[►Array,►Array,►Array,'4','Stackoverflow','stackoverflow.com']
Donc je suis en supposant que je suis absent quelque chose d'évident. Ou de tenter quelque chose de stupide...de l'aide?
OriginalL'auteur David Thomas | 2010-09-11
Vous devez vous connecter pour publier un commentaire.
jQuery n'est pas nécessaire pour cela. Utilisez simplement le Tableau
.push()
méthode pour l'ajouter au tableau principal.Ce
$.merge()
n'est il se promène à travers le deuxième tableau, vous le passez et des copies de ses éléments un par un dans la première.EDIT:
Si vous ne voulez pas modifier le tableau d'origine, vous pourriez faire une copie de lui en premier, et
.push()
le nouveau Tableau dans la copie.console.log(newArray)
retourne maintenant4
=/- Vous sûr de cela? jsfiddle.net/XLVxw/1
4
de la Matrice delength
la valeur de la propriété.Oh, je vois ce que vous faites. Le
.push()
méthode modifie le tableau d'origine, et renvoie la nouvelle longueur. C'est pourquoi votrenewArray
variable montre4
.ouais je suis assez certain =b Et, sérieusement, merci pour le
forDummies()
jsfiddle démo. Il y en a besoin =) +1, et elle a accepté!Vous êtes les bienvenus! Je devrais avoir payé plus d'attention à la code dans votre question en premier lieu. :o)
OriginalL'auteur user113716
vous pouvez utiliser la fonction de fusion comme ce
OriginalL'auteur Anbu
En plus de
push
comme décrit par patrick, si vous souhaitez créer un nouveau liste plutôt que de changer l'ancien, vous pouvez ajouter des tableaux avecArray#concat
:$.merge
était en train de donner. Je pense que vous devez fairecString.concat([['4','Stackoverflow','stackoverflow.com']])
à la place.?Vous avez absolument raison. Merci pour la capture de la fingerfail!
OriginalL'auteur bobince