¿Cómo relleno un array de números random y que no se repita ninguno?

peleo
12 de Diciembre del 2002
Trato de hacer un script que me dé nueve números aleatorios dentro de un array y que no se repita niguno. De momento he hecho:
<script language="JavaScript">
function numero(){
return parseInt(Math.random()*20);
}
var num= new Array();
var a,i,n;
for (n=0;n<=8;n++){
a=numero();
num[n]=a;
for(i=0;i<(num.length)-1;i++){
if (num[i]==a)
num[n]="x";
}
}
//para imprimir el resultado
for (n=0;n<=8;n++)
document.write(num[n]+" / ");
</script>
Esto me da números no repetidos y los repetidos="x"
¿Cómo puedo hacer que me cambie las x por números que no estén en el array?

IceMan
12 de Diciembre del 2002
Prueba con esto, a ver si te vale:

<script language="JavaScript">
function numero(){
return parseInt(Math.random()*20);
}
var num= new Array();
var a,i,n;
for (n=0;n<=8;){
a=numero();
num[n]=a;
repetido=0;
for(i=0;i<(num.length)-1;i++){
if (num[i]==a)
repetido=1;
}
if (repetido==0) n++;
}
//para imprimir el resultado
for (n=0;n<=8;n++)
document.write(num[n]+" / ");
</script>

Salu2.