js 随机取0到10之间不重复的3个数字

js yekong

项目开发中,我需要从一个列表中随机取3个不同的下标来加入到新的数组中

使用

从下标0开始,列表最大长度结束,取3个值

var list = GetRandomArr(0, this.list.length - 1, 3)

方法代码

function GetRandomArr(min, max, length) {
    var list = new Array()

    function getRandom() {
        //随机数
        var random = Math.random() * (max - min) + min;
        //向下取整
        random = Math.floor(random);

        if (list.length < length) {
            for (i = 0; i <= list.length; i++) {
                if (random == list[i]) {
                    break;
                } else {
                    if (i == list.length) {
                        list.push(random);
                        break;
                    }
                }
            }
            getRandom();
        }
    }

    getRandom();
    return list
}
喜欢