編寫一個js函數,該函數有一個n(數字類型),其返回值是一個數組,該數組內是n個隨機且不重復的整數,且整數取值范圍是[2,32]


首先定義個fn用來返回整數的取值范圍:

function getRand(a,b){
    var rand = Math.ceil(Math.random()*(b-a)+a);
    return rand;
}

再寫一個func用來做去重校驗:

function checkArrIn(rand,array){
    if(array.indexOf(rand) > -1){
        return true
    }
    return false;
}

最后是整體實現:

function fn(n, min, max) {
    var arr = [];
    var isNum = !isNaN(Number(n));//判斷n是不是一個數字,包含字符串類型的數字
    var isRandOk = (n >= min && n <= max && n <= (max - min)) ? true : false;//判斷n的取值是否符合要求
    if (n && isRandOk && isNum) {
        for (var i = 0; i < n; i++) {
            var rand = getRand(min, max);
            if (checkArrIn(rand, arr)) {
                i--
            } else {
                arr.push(rand)
            }
        }
    }
    return arr;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 js如何從一個數組中隨機取出n個不同且不重復的值 面試題:給定一個長度為N的數組,其中每個元素的取值范圍都是1到N。判斷數組中是否有重復的數字 需求:在一個數組中存入一個隨機不重復的5個數,隨機數1-5 創建函數,傳遞一個數字n,返回斐波那契數列的第n的值。 返回類型和return語句:無返回值函數,有返回值函數,返回數組指針 Leetcode練習(Python):哈希表類:第202題:編寫一個算法來判斷一個數 n 是不是快樂數。 「快樂數」定義為:對於一個正整數,每一次將該數替換為它每個位置上的數字的平方和,然后重復這個過程直到這個數變為 1,也可能是 無限循環 但始終變不到 1。如果 可以變為  1,那么這個數就是快樂數。 如果 n 是快樂數就返回 True ;不是,則返回 False 。 在一個長度為n的數組里的所有數字都在0到n-1的范圍內。 數組中某些數字是重復的,但不知道有幾個數字是重復的。也不知道每個數字重復幾次。請找出數組中任意一個重復的數字。 例如,如果輸入長度為7的數組{2,3,1,0,2,5,3},那么對應的輸出是重復的數字2或者3 JS生成1000個數字加字母的不重復的隨機字符串 給你一個包含 n 個整數的數組 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?請你找出所有和為 0 且不重復的三元組 給定一個包含 n 個整數的數組 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?找出所有滿足條件且不重復的三元組。
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM