gpt4 book ai didi

javascript - 防止随机操作在 Javascript 中返回相同的值两次

转载 作者:行者123 更新时间:2023-11-30 07:43:07 25 4
gpt4 key购买 nike

我对编码非常陌生,正在处理我的第一个 Javascript 项目。我正在尝试创建一个小型随机字符生成器,​​它随机选择一个设置和两个数组中的字符原型(prototype)。我的问题是我不断重复,可能是因为列表太小了。

<html>
<head>
<script type="text/javascript">

var setting=new Array('Steampunk',
'Fuedal Japanese',
'Post Apocalyptic',
'Horror',
'Fantasy',
'Cyberpunk',
'Western',
'Pulp',
'Military',
'Space Opera',
'Medieval',
'Ancient',
'Mythological',
'Urban',
'Trans-Humanist',
'Renaissance',
'Dystopian',
'Retro Futuristic',
'Nordic',
'Colonial');

var Archetype=new Array('Ninja',
'Samurai',
'Viking',
'Cowboy',
'Rogue',
'Wizard',
'Wrestler / Luchador',
'Knight',
'Scientist',
'Gadgeteer',
'Druid',
'Performer',
'Pirate',
'Alien',
'Superhero / Villain',
'Robot',
'Soldier',
'Vampire',
'Werewolf',
'Bounty Hunter');

function resetSettingAndArchetype()
{
var whichsetting = Math.floor(Math.random()*(setting.length));
var whicharchetype = Math.floor(Math.random()*(Archetype.length));

如何让随机操作永远不会返回相同的值两次?

最佳答案

您可以打乱数组(例如使用 Fisher-Yates shuffle ),然后在打乱的数组上逐一迭代。当你到达一个结束时,只需再次洗牌。

关于javascript - 防止随机操作在 Javascript 中返回相同的值两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12435428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com