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

拆分问题:

  1. 数组长度为 5;
  2. 生成 2-32 之间的随机数;
  3. 向数组中插入数值时,如果已存在则重新生成;
  4. 采用递归的方式,而非循环语句实现。
function getRandom(max, min) {
    max = max + 1;
    min = min || 0;
    return Math.floor(Math.random() * (max - min)) + min;
}

function insertArr(arr, length, min, max) {
    if (arr.length < length) {
        var value = getRandom(max, min);
        console.log('value=' + value);
        if (!~arr.indexOf(value)) {
            arr.push(value);
        }
        insertArr(arr, length, min, max);
    }
}

var result = [];
insertArr(result, 5, 32, 2);

console.log(result);
原文地址:https://www.cnblogs.com/xiaoyucoding/p/12551304.html