返回整数取值范围是 [2, 32]的随机数组-网易面试编程题

来源:互联网 发布:设置外键的sql语句 编辑:程序博客网 时间:2024/06/05 17:35

1.编写一个javscript函数 fn,该函数有一个参数 n(数字类型),其返回值是一个数组,该数组内是 n 个随机且不重复的整数,且整数取值范围是 [2, 32]。

function getRandomNum(min, max) {
    var num = Math.random()*30 + 2;
    return parseInt(num);
}
function checkRedundancy(a, i, num) {
    for(var j=0; j<i; j++) {
       if(a[j]==num) return false;
    }
    return true;
}
function fn(n) {
    var arr = [];
    var num ;
    var i = 1;
    while(i<=n) {
       while(1) {
          num = getRandomNum(2, 32);
            if(!checkRedundancy(arr, i, num)) break;
              else arr.push(num);

      }
         i++;
    }
    for(i=0; i<n; i++) {
       console.log(arr[i]);
    }

}

fn(4);

0 0