Fonction qui inverse les paires d’élément d’un tableau passé en paramètre Ex. [a1, a2, b1, b2, c1, c2] devient [a2, a1, b2, b1, c2, c1]. La fonction retourne un nouveau tableau.
Je trouve que je suis incapable de commencer![]()
Fonction qui inverse les paires d’élément d’un tableau passé en paramètre Ex. [a1, a2, b1, b2, c1, c2] devient [a2, a1, b2, b1, c2, c1]. La fonction retourne un nouveau tableau.
Je trouve que je suis incapable de commencer![]()
un début
Code : Sélectionner tout - Visualiser dans une fenêtre à part for(i=0;2*i+1<t.length;i++)
J'ai pensé d'utiliser reverse(), mais ce n'est pas le rendu souhaité.
Pour ta boucle, j'ai compris qu'il faut prendre la moitié du tableau (indice 0, 1 et 2), mais comment faire pour le traitement ?![]()
Bonjour,
[Edit] Si on peut avoir un nombre impair d'éléments :
Code js : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var t1 = new Array('a1', 'a2', 'b1', 'b2', 'c1', 'c2'); var t2 = new Array; for(i=0;i<t1.length;i=i+2){ t2[i] = t1[i+1]; t2[i+1] = t1[i]; }
N.B. la version de SylvainPV (ci-après) est nettement plus élégante.
Code js : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 var t1 = new Array('a1', 'a2', 'b1', 'b2', 'c1', 'c2', 'd1'); var t2 = new Array; var n = t1.length; for(i=0;i<n;i=i+2){ if(i!=n-1){ t2[i] = t1[i+1]; t2[i+1] = t1[i]; } else { t2[i] = t1[i]; } }![]()
Dernière modification par Invité ; 13/08/2013 à 08h39.
Il y a aussi la méthode Array.map qui peut être intéressante.
Et pour gérer le cas où on passe un nombre impair d'éléments:
Code : Sélectionner tout - Visualiser dans une fenêtre à part ["a1","a2","b1","b2","c1","c2"].map(function(value,index,array){ return (index%2 ? array[index-1] : array[index+1]) })
Code : Sélectionner tout - Visualiser dans une fenêtre à part ["a1","a2","b1","b2","c1","c2","d1"].map(function(v,i,a){ return (i%2 ? a[i-1] : a[i+1]) || a[i] })
Partager