递归生成指定长度指定元素范围的数组

东明兄 2019-06-16
0条评论 963 次浏览
东明兄 2019-06-160条评论 963 次浏览
a) 生成一个长度为5的空数组arr。
b) 生成一个(2-32)之间的随机整数rand。
c) 把随机数rand插入到数组arr内,如果数组arr内已存在与rand相同的数字,则重新生成随机数rand并插入到arr内[需要使用递归实现,不能使用for/while等循环]
d) 最终输出一个长度为5,且内容不重复的数组arr。
    function buildArray(arr, length, min, max) {
        var num = Math.floor(Math.random() * (max - min + 2) + min);
        if (!arr.includes(num)) {
            arr.push(num);
        }
        return arr.length === length ? arr : buildArray(arr, length, min, max)
    }

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

demo演示地址:http://demo.crazyming.com/?link=topic/d1/递归生成指定长度指定元素范围的数组.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注