我找到了以下用于隨機化一個詞的代碼,但我需要的是隨機化一個詞對 2 個詞。我怎樣才能做到這一點?
let words = ["monitor", "program", "application", "keyboard", "javascript", "gaming", "network"];
let getRandomWord = function () {
return words[Math.floor(Math.random() * words.length)];
};
let word = getRandomWord();
console.log(word);
document.getElementById("word").textContent = word;
uj5u.com熱心網友回復:
我希望下面的注釋代碼對您有所幫助:
let words = ["monitor", "program", "application", "keyboard", "javascript", "gaming", "network"];
let getRandomWord = function () {
return words[Math.floor(Math.random() * words.length)];
};
//generating first word
let word1 = getRandomWord();
let word2
do{
//getting the second word and making sure it is diferent from the first word
word2 = getRandomWord();
}while(word1==word2)
console.log(word1, word2);
document.getElementById("word").textContent = word1 ' ' word2;
uj5u.com熱心網友回復:
你可以簡單地洗牌你的陣列
const words =
[ 'monitor', 'program', 'application', 'keyboard'
, 'javascript', 'gaming', 'network'
]
for (let i = words.length; --i;) // shuffle Array
{
let j = Math.floor(Math.random() * (i 1));
[words[i], words[j]] = [words[j], words[i]]
}
// get 2 random words
console.log( words[0], words[1] )
uj5u.com熱心網友回復:
選擇亂數的標準演算法,例如從陣列中選擇 r 個元素,n long 如下 - 技巧是將最后一個元素移動到您剛剛選擇的位置,然后將 n 減少 1。
function select(arr,r){
let out=[];
let n=arr.length;
for (let i=0;i<r;i ){
let j=Math.floor(Math.random()*n);
out.push(arr[j])
if(j<n-1) arr[j]=arr[n-1];
n--;
}
return out; //contains the random selection
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/349436.html
標籤:javascript 数组
上一篇:谷歌地圖在默認中心值中反應問題?
