欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

Javascript 多個隨機數

劉姿婷1年前7瀏覽0評論
Javascript中生成隨機數有很多方法,但如果需要生成多個隨機數,則需要采用比較特別的方式。本文將會介紹如何使用Javascript生成多個隨機數,并對不同的生成方法進行詳細的講解和舉例說明。 生成多個隨機數的方法: 1. Math.random()方法 這是Javascript中最常用的方法之一,它能夠生成0到1之間的隨機數。我們可以使用Math.random()方法生成一定范圍內的隨機數,并將其乘以范圍內所需的隨機數個數,最后向下取整,來生成多個隨機數。
function getRandomNums(length, min, max) {
const numsArr = [];
for (let i = 0; i< length; i++) {
numsArr.push(Math.floor(Math.random() * (max - min + 1)) + min);
}
return numsArr;
}
console.log(getRandomNums(5, 1, 10)); // [1, 8, 4, 6, 2]

以上代碼中getRandomNums(5, 1, 10)將會生成5個位于1和10之間的隨機數,結果為[1, 8, 4, 6, 2]。

2. Crypto.getRandomValues()方法 Crypto.getRandomValues()方法能夠生成可以由操作系統提供的更好的偽隨機數,這比Math.random()方法更安全。我們可以通過單個數組生成多個隨機數字:
function getRandomNumsWithCrypto(length) {
const numsArr = new Uint8Array(length);
window.crypto.getRandomValues(numsArr);
return numsArr;
}
console.log(getRandomNumsWithCrypto(5)); // Uint8Array(5)?[171, 52, 19, 20, 244]

以上代碼中getRandomNumsWithCrypto(5)將會生成5個隨機數,結果為Uint8Array(5)?[171, 52, 19, 20, 244]。請注意,這里返回的是一個Uint8Array類型的數組,而不是整數數組,每個數字都在0到255之間。

3. Seedrandom()方法 Seedrandom()方法使用外部種子可以生成具有可預測性的偽隨機數。如果兩個調用有相同的種子,它們將會生成相同的序列。以下是一個使用Seedrandom()方法的示例:
function getRandomNumsWithSeed(seed, length) {
seedrandom(seed, { global: true });
const numsArr = [];
for (let i = 0; i< length; i++) {
numsArr.push(Math.random());
}
return numsArr;
}
console.log(getRandomNumsWithSeed('xyz', 5)); // [0.34812508281258557, 0.6967487333748109, 0.25695204589741677, 0.05177178902301198, 0.5283244902131775]
console.log(getRandomNumsWithSeed('xyz', 5)); // [0.34812508281258557, 0.6967487333748109, 0.25695204589741677, 0.05177178902301198, 0.5283244902131775]
console.log(getRandomNumsWithSeed('zzz', 5)); // [0.994364371029436, 0.5489407840738008, 0.05936387521627529, 0.5104209518358748, 0.5201472607198857]

以上代碼中getRandomNumsWithSeed()方法需要兩個參數:種子和隨機數的長度。在這個示例中,如果種子是相同的則生成的隨機數結果也相同,但如果種子不同,生成的隨機數會完全不同,例如getRandomNumsWithSeed('zzz', 5)將會生成與getRandomNumsWithSeed('xyz', 5)完全不同的數字序列。

總結: 在Javascript中生成多個隨機數,有很多方法可以選擇。如果需要更高的安全性,建議使用Crypto.getRandomValues()方法。如果需要可預測的偽隨機數,Seedrandom()方法是比較好的選擇。而如果需要普通的隨機數,則可以考慮使用Math.random()方法。