var num_list = new Array(20);
for(var i=0;i<20;i++)
  num_list[i] = Math.floor(Math.random()*(20-i))+i;//从i-20中取随机数
for(t=0;t<10;t++){//取10张
  t_x[t]="images/t"+num_list[t]+"a.gif";
}

解决方案 »

  1.   

    20 - i
    i = 4
    结果是16
    i = 5
    结果是1516包含15应该还会出现重复吧?
      

  2.   

    抱歉
    随机过程改正一下
    for(var i=0;i<20;i++)
      num_list[i] = i;
    for(var i=0;i<20;i++){
      var r = Math.floor(Math.random()*(20-i))+i;//从i-20中取随机数
      var temp = num_list[r];
      num_list[r] = num_list[i];
      num_list[i] = temp;
    }
      

  3.   

    <script type="text/javascript">
    //<![CDATA[
    document.write(fRndNoRept(1, 20),'<br/>');
    var ar=fRndNoRept(1, 20);
    for(var i=0; i<ar.length; i++){
    document.write(i+1,'. ',ar[i],'<br/>');
    }
    function fRndNoRept(under, over){
    var ar=[0];
    var i=temp=0;
    var btn;
    while(ar.length<over-under+1){
    btn=true;
    temp=fRandomBy(under, over);
    for(var j=0; j<ar.length; j++){
    if(ar[j]==temp) {
    btn=false;
    break;
    }
    }
    if(btn)ar[i++]=temp;
    }
    return ar;
    function fRandomBy(under, over){
    switch(arguments.length){
    case 1: return parseInt(Math.random()*under+1);
    case 2: return parseInt(Math.random()*(over-under+1) + under);
    default: return 0;
    }
    }  // shawl.qiu script
    }
    //]]>
    </script>
      

  4.   

    改写形参名, btn 是 button 了...
    <script type="text/javascript">
    //<![CDATA[
    document.write(fRndNoRept(1, 20),'<br/>');
    var ar=fRndNoRept(1, 20);
    for(var i=0; i<ar.length; i++){
    document.write(i+1,'. ',ar[i],'<br/>');
    }
    function fRndNoRept(under, over){
    var ar=[0];
    var i=temp=0;
    var bln;
    while(ar.length<over-under+1){
    bln=true;
    temp=fRandomBy(under, over);
    for(var j=0; j<ar.length; j++){
    if(ar[j]==temp) {
    bln=false;
    break;
    }
    }
    if(bln)ar[i++]=temp;
    }
    return ar;
    function fRandomBy(under, over){
    switch(arguments.length){
    case 1: return parseInt(Math.random()*under+1);
    case 2: return parseInt(Math.random()*(over-under+1) + under);
    default: return 0;
    }
    }  // shawl.qiu script
    }
    //]]>
    </script>
      

  5.   

    疯那个不叫形参...叫局部变量..不专业呀...<script type="text/javascript">
    //<![CDATA[
    document.write(fRndNoRept(1, 20),'<br/>');
    document.write(fRndNoRept(20),'<p/>');

    var ar=fRndNoRept(1, 20);
    for(var i=0; i<ar.length; i++){
    document.write(i+1,'. ',ar[i],'<br/>');
    }
    document.write('<p/>');

    var ar=fRndNoRept(20);
    for(var i=0; i<ar.length; i++){
    document.write(i+1,'. ',ar[i],'<br/>');
    }
    document.write('<p/>');

    function fRndNoRept(under, over){
    if(!over){
    var over=under;
    under=1;
    }
    var ar=[0];
    var i=temp=0;
    var bln;
    while(ar.length<over-under+1){
    bln=true;
    temp=fRandomBy(under, over);
    for(var j=0; j<ar.length; j++){
    if(ar[j]==temp) {
    bln=false;
    break;
    }
    }
    if(bln)ar[i++]=temp;
    }
    return ar;
    function fRandomBy(under, over){
    switch(arguments.length){
    case 1: return parseInt(Math.random()*under+1);
    case 2: return parseInt(Math.random()*(over-under+1) + under);
    default: return 0;
    }
    }  // shawl.qiu script
    }
    //]]>
    </script>
      

  6.   

    <script language="javascript">
    t_s=new Array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
    t_x=new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);function MM_rand()
    {
     var t;
     num=Math.floor(Math.random()*15);//20张图
     return num;
    }
    function GetNum(){
        alert("go to this!");
    var tmp=GetRand();
    for(j=0;j<tmp.length;j++){
    document.write(tmp[j]);
    }
    }
    function GetRand(){
    alert("go to this!");
    var flag = 0;
    for(i=0;i<t_x.length;i++){
    flag = 0;
    var rand=MM_rand();
    for (int j=0 ; j < t_x.length; j++)
    if(rand == t_x[j]){
    i--;
    flag = 1;
    break;
    }

    if (flag == 0){
             t_x[i]= rand;
    }

    }

    return t_x;
    }
    </script>