Javascript 传递数组以填充数组
我有一个数组,可以是任意长度的rWords。我正在尝试开发一个函数,随机选择六个,并将它们分配为六个分区中的文本,这将是用户在问答类游戏中单击的选项 我的问题是:我可以从rWords中随机获得六个单词的数组,并将它们指定为文本。然而,有时你会在数组中得到两个相同的单词,这是我不想要的 随机单词Function:(html上有六个方块)Javascript 传递数组以填充数组,javascript,Javascript,我有一个数组,可以是任意长度的rWords。我正在尝试开发一个函数,随机选择六个,并将它们分配为六个分区中的文本,这将是用户在问答类游戏中单击的选项 我的问题是:我可以从rWords中随机获得六个单词的数组,并将它们指定为文本。然而,有时你会在数组中得到两个相同的单词,这是我不想要的 随机单词Function:(html上有六个方块) 我想这就是你要找的 rWords = [ "foo", "bar", "baz", "boo", "help", "me", "eve
我想这就是你要找的
rWords = [
"foo",
"bar",
"baz",
"boo",
"help",
"me",
"everything",
"is",
"alright"
]
function shuffle(array) {
array.sort(() => Math.random() - 0.5);
}
function randomWord() {
var pArr = [];
words = rWords.slice()
for (i=0; i<6; i++){
shuffle(words);
pArr.push(words.pop())
}
return pArr;
}
console.log(randomWord())
console.log(randomWord())
console.log(randomWord())
您需要(随机)洗牌数组,然后逐个使用该数组中的值。关于如何洗牌一个数组,有几个问题。trincot的评论指出了实现这一点的众多方法之一,我添加了另一个副本,也谈到了其他一些方法。要执行的相关搜索:。更多关于搜索的信息。
For(i=0; i<squares.length;i++){
Squares[i].textcontent = randomWord();
}
rWords = [
"foo",
"bar",
"baz",
"boo",
"help",
"me",
"everything",
"is",
"alright"
]
function shuffle(array) {
array.sort(() => Math.random() - 0.5);
}
function randomWord() {
var pArr = [];
words = rWords.slice()
for (i=0; i<6; i++){
shuffle(words);
pArr.push(words.pop())
}
return pArr;
}
console.log(randomWord())
console.log(randomWord())
console.log(randomWord())
[ 'alright', 'everything', 'is', 'boo', 'help', 'bar' ]
[ 'alright', 'help', 'is', 'me', 'foo', 'boo' ]
[ 'me', 'alright', 'everything', 'bar', 'help', 'baz' ]