<SCRIPT LANGUAGE="JavaScript">
<!--
function getArray(min, max) {
  var aryBase = new Array();
  var aryReturn = new Array();
  for (var i = 1; i <= 33; i++){
    aryBase[aryBase.length] = i; 
  }
  for ( var m = 0; m < min; m++){
    aryReturn[aryReturn.length] = randomNumber(16)
  }
  for ( var n = 0; n < max; n++){
    aryReturn[aryReturn.length] = 16 + randomNumber(16)
  }
  return aryReturn
}function randomNumber(limit){
  return Math.floor(Math.random() * limit);
}document.write(getArray(4, 2).join("<br>"))
//-->
</SCRIPT>

解决方案 »

  1.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    //数组对象的indexOf方法
    if (!Array.prototype.indexOf){
      Array.prototype.indexOf = function(obj, fromIndex){
      if (fromIndex == null){
        fromIndex = 0;
      }else if (fromIndex < 0){
        fromIndex = Math.max(0, this.length + fromIndex);
      }  for (var i = fromIndex; i < this.length; i++){
        if (this[i] == obj){
          return i;
        }
      }
      return-1;
      };
    }
    //产生随机数
    function randomNumber(limit){
      return Math.floor(Math.random() * limit);
    }//产生指定个数的大小数字,返回数组
    function getArray(min, max) {
      var aryBase = new Array();
      var aryReturn = new Array();
      for (var i = 1; i <= 33; i++){
        aryBase[aryBase.length] = i; 
      }
      for ( var m = 0; m < min; m++){
    var rdmNumber = randomNumber(16);
    if (aryReturn.indexOf(rdmNumber) == -1){
      aryReturn[aryReturn.length] = rdmNumber;
    } else {
      m--;
    }
      }
      for ( var n = 0; n < max; n++){
    var rdmNumber = 17 + randomNumber(16);
    if (aryReturn.indexOf(rdmNumber) == -1){
      aryReturn[aryReturn.length] = rdmNumber;
    } else {
      n--;
    }
      }
      return aryReturn
    }document.write(getArray(4, 2).join("<br>"))//-->
    </SCRIPT>
      

  2.   

    update
    一、随机数重复的问题
    二、大数最小可能产生16的问题
      

  3.   


    目的:作一个网页式的双式球缩水javascript程式
    访客“随便”点选33个红球内的,33个数以内的红球(数目各不相同)
    现求教 大小比例(即主题所描述)缩水法的javascript程式下边的是:奇偶比例缩水法的javascript程式 (范例)
    注释:lonum 为访客选取红球组成的数组
          oddv 奇偶比例  分别是:0:6 1:5 2:4 3:3 4:2 5:1 6:0
    function countODD(lonum){
    var ODDcount=0;
    for (var i=0; i<lonum.length; i++) {
    if ((lonum[i]%2)==1) {
    ODDcount++;
    }
    }
    return ODDcount;
    }function resultODD(lonum,oddv){
    var resultnum=new Array();
    var tmpindex=0;
    var ODDvalue=0;
    for (var i=0;i<lonum.length;i++) {
    ODDvalue=countODD(lonum[i]);
    for (var j=0;j<oddv.length;j++) {
    if (ODDvalue==oddv[j]) {
    resultnum[tmpindex]=lonum[i];
    tmpindex++;
    j=oddv.length;
    }
    }
    }
    return resultnum;
    }
      

  4.   


    我的意思是想在你的函数中加多一项参数lonum
    (在33个数字任意选择的数字组成的字符串。)如:访客选择 03,05,09,11,15,20,23,27,29,30,32 作为参数lonum的值,然后通过
    选择比例:(min,max) 来对lonum数组计算出多组的符合大小比例排列组合数列。function  getArray(min,  max,lonum)  {……
    }