Comment simplement aplatir tableau en jQuery? J'ai:
[1, 2, [3, 4], [5, 6], 7]
Et je veux:
[1, 2, 3, 4, 5, 6, 7]
Comment simplement aplatir tableau en jQuery? J'ai:
[1, 2, [3, 4], [5, 6], 7]
Et je veux:
[1, 2, 3, 4, 5, 6, 7]
Vous pouvez utiliser jQuery.la carte, qui est la voie à suivre si vous avez de la Bibliothèque jQuery est déjà chargé.
$.map( [1, 2, [3, 4], [5, 6], 7], function(n){
return n;
});
Retourne
[1, 2, 3, 4, 5, 6, 7]
Voici comment vous pouvez utiliser jquery pour aplatir profondément tableaux imbriqués:
$.map([1, 2, [3, 4], [5, [6, [7, 8]]]], function recurs(n) {
return ($.isArray(n) ? $.map(n, recurs): n);
});
Retourne:
[1, 2, 3, 4, 5, 6, 7, 8]
Profite de jQuery.la carte ainsi que jQuery.isArray.
var a = [1, 2, [3, 4], [5, [6, [7, 8]]]];
var b = [];
function flatten(e,b){
if(typeof e.length != "undefined")
{
for (var i=0;i<e.length;i++)
{
flatten(e[i],b);
}
}
else
{
b.push(e);
}
}
flatten(a,b);
console.log(b);
La mise à plat de la fonction doit le faire, et cela ne nécessite pas de jQuery. Il suffit de copier tout cela dans Firebug et de l'exécuter.
Vous pouvez utiliser jQuery.map()
:
rappel( valeur, indexOrKey )La fonction de chaque élément du processus de contre. Le premier argument de la fonction est la valeur; la deuxième l'argument est l'indice ou de la clé d'la baie ou la propriété de l'objet. L' la fonction peut renvoyer une valeur à ajouter à l'éventail. Un tableau retourné seront aplatis dans le tableau résultant. Au sein de la fonction, ce se réfère à la global (de la fenêtre) de l'objet.
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.