aryFields[Math.round(Math.random(aryFields.length)*aryFields.length-1)]

解决方案 »

  1.   

    alert(aryFields[Math.floor(Math.random()*aryFields.length)])
      

  2.   

    var ar= new Array('aa','bb','cc');
    alert(ar);
    function selAr(){
    var tmp = Math.round(Math.random(ar.length)*ar.length)-1;
    var re = ar[tmp];
    var tmpar = new Array();
    for (var i=0;i<ar.length;i++){
    if (i != tmp){
    tmpar[tmpar.length]=ar[i];
    }
    }
    ar=tmpar;
    return re;
    }selAr();
    alert(ar);
      

  3.   

    不好意思,楼主,插一句。
     math.random()取到的是0到1之间的正数是这样吧?
     我想你做的有点象彩票程序。呵呵
      

  4.   

    <script>
    var aryFields=[1,2,3,4,5],rnd
    rnd=Math.floor(Math.random()*aryFields.length)
    alert("选中:"+aryFields[rnd]);
    aryFields=aryFields.slice(0,rnd).concat(aryFields.slice(rnd+1))
    //IE5.5+可直接用aryFields.splice(rnd,1)
    alert("剩下:"+aryFields)
    </script>