Ray-56 / Daily

每日
7 stars 1 forks source link

第一题:用递归算法实现,数组长度为5且元素的随机数在2-32间不重复的值 #1

Open Ray-56 opened 5 years ago

Ray-56 commented 5 years ago

用递归算法实现,数组长度为5且元素的随机数在2-32间不重复的值

可以拆解为四小项:

Ray-56 commented 5 years ago
function getNum() {
    return Math.floor(Math.random() * 32 + 1);
}

function inset(cur, arr = []) {
    if (arr.length > 4) return arr;

    if (!arr.includes(cur)) {
        arr.push(cur);
    }
    return inset(getNum(), arr);
}

var res = inset(getNum());

console.log(res);
MMmaXingXing commented 5 years ago
function getRandom() {
    return Math.floor(Math.random() * 30 + 2);
}

let arryLen = 5;

function getArray(value, arr = []) {
  if (arr.length >= arryLen) return arr;

  if (!arr.includes(value)) {
    arr.push(value);
  }

  return getArray(getRandom(), arr);
}

const arrayVal = getArray(getRandom());
//console.log(arrayVal);
GenXiaoLe commented 5 years ago
function creatArray(arr = []) {
    if (arr.length > 4) return arr;

    var num = Math.floor(Math.random() * 30 + 2);
    if (!arr.includes(num)) {
       arr.push(num);
    }
    return creatArray(arr);
}

var reslut = creatArray();
console.log(reslut);