comment former un tableau de tableaux en Jquery
comment faire un tableau de tableaux comme
{ [1,2,3],[2,3,4],[2,34,55] }
en jquery ?
$(document).ready(function() {
var row = 4;
var items = [];
var total = [];
$('#test tr:eq(' + row + ') td').each(function(colindex, col) {
//alert(colindex);
t = $(this).contents();
items.length = 0;
$.each(t, function(i, val) {
if (val.tagName != 'BR') {
if (val.innerHTML == undefined) {
items.push(val.data);
}
else
items.push(val.innerHTML);
}
//alert(items.toString());
});
total.push(items);
});
alert(total.toString());
});
dans le code ci-dessus, je suis en train de créer un tableau Total() avec les éléments sous la forme de tableaux (point))
mais comment jamais le Total de la() tableau n'a qu'un seul objet que le dernier élément de la() tableau.
peut-on s'il vous plaît me suggérer un soln
{ [1,2,3],[2,3,4],[2,34,55] } => Objet contenant des tableaux. [[1,2,3],[2,3,4],[2,34,55]] => Array contenant des tableaux
Vous avez absolument raison, T. J. 🙂 ..ty!
{ [1,2,3],[2,3,4],[2,34,55] }
est pas valide littéral d'objet, pas un objet contenant des tableaux (il n'a pas tous les noms de propriété). Mais oui, la bonne notation pour un tableau de tableaux lorsqu'il est écrit comme un littéral serait en effet [[1,2,3],[2,3,4],[2,34,55]]
.Vous avez absolument raison, T. J. 🙂 ..ty!
OriginalL'auteur deathcaller | 2011-04-28
Vous devez vous connecter pour publier un commentaire.
Le problème, c'est que vous êtes en réutilisant les mêmes
items
tableau sur chaque boucle. Au lieu de cela, créer un nouveauitems
tableau:Lorsque vous définissez la
length
propriété d'un tableau à0
, vous êtes en train de retirer l'ensemble de ses éléments de tableau, mais c'est toujours le même tableau, si vous avez fini de pousser le même tableau sur votretotals
tableau à plusieurs reprises.Pas de soucis, content que cela a aidé.
Juste pour signaler, voir @guffa note à propos de votre
if (val.innerHTML == undefined)
vérifier. Vraiment le meilleur pour faireif (typeof val.innerHTML === 'undefined')
(note de l'===
plutôt que de simplement==
, bien que dans ce cas, il n'a pas beaucoup d'importance).OriginalL'auteur T.J. Crowder
Déplacez la création des éléments de tableau dans la boucle externe de sorte que vous créez un nouveau tableau à chaque itération. Sinon, vous serez en ajoutant le même tableau à
total
, donc vous allez vous retrouver avec un tableau plein de références à la même matrice, qui ne contient que les valeurs de la dernière itération.De ne pas utiliser le
undefined
"constante", ce n'est pas une constante. Vérifiez le type de la propriété à la place.OriginalL'auteur Guffa
Tout d'abord, un tableau de tableaux littérale devrait disposer de deux jeux de
[]
, n'est pas mixte[]
et{}
:[ [1,2,3],[2,3,4],[2,34,55] ]
Aussi, au lieu de
ce faire:
Ce que vous allez faire maintenant est un peu comme essayer d'élargir votre ami cercle de connaissances, en prenant une autre personne et l'introduction de lui à plusieurs reprises, en changeant seulement de ses habits, perruque et fausse moustache à chaque fois. Malgré les différents regards, votre ami pourra obtenir une nouvelle connaissance.
OriginalL'auteur Amadan