La question n'est pas comment faire le shuffle, j'y arrive très bien autrement.

J'étais juste en train de m'amuser avec différentes syntaxes et j'ai abouti à ce script qui me pose deux interrogation:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
var ar = new Array("0","1","2","3","4","5","6","7","8","9");
Array.prototype.shuffle= function () 
{ 
for( var j=new Array(); this[0]; j.push( this.splice(Math.floor(Math.random() * this.length),1)));
this=this.concat(j)
} 
 
ar.shuffle(); 
alert(ar)
il refuse de m'affecter this=this.concat(j)
pourtant this se vide bien.
Je suis obligé de faire:
ce qui m'oblige à appeler la le prototype différemment :
Pourquoi ne puis-je affecter j a this ?




D'autre part si mon array est numerique au lieu d'alpha
Code : Sélectionner tout - Visualiser dans une fenêtre à part
var ar = new Array(0;1;2;3;4;5;6;7;8;9);
ça ne fonctionne plus du tout ???