如何删除字符串时随机选择的javascript

How to delete string when its randomly chosen javascript

本文关键字:随机 选择 javascript 字符串 何删除 删除      更新时间:2023-09-26

我的代码随机选择一个字符串,并使用javascript将其写入屏幕上。这可能有点令人困惑,但我想知道是否有可能做到这一点,所以当它随机选择一个字符串并将其写入页面上时,它还会从代码中删除该字符串,这样它就再也不能被选择?这是我的代码

    KeywordArray = new Array(7);  
    KeywordArray[0] = "apple";  
    KeywordArray[1] = "pear";  
    KeywordArray[2] = "orange";  
    KeywordArray[3] = "banana";  
    KeywordArray[4] = "stawberry"; 
    randno = Math.floor ( Math.random() * KeywordArray.length ); 

然后在我的 html 页面底部,我有

    <script>document.write(KeywordArray[randno]);</script> 

我想知道是否有可能做到这一点,所以当苹果被随机选择并放在屏幕上时,它会将其从数组中删除,这样其他人就无法获得苹果这个词?抱歉,如果这令人困惑。

我怀疑你想在服务器端存储一些信息,但javascript是客户端的,所以它不是最好的选择。如果您的服务器支持,请尝试 Php。此致敬意

var index = KeywordArray.indexOf("apple");
KeywordArray.splice(index, 1);

但当然,上述内容适用于客户端。

您可以使用拼接。

document.write(KeywordArray.splice(randno,1));

注意

如果要存储已使用的内容,即使页面重新加载,也可以使用 localStorage。这将保存已经显示的元素。(但是,它将向其他人显示,为了防止这种情况,您可能需要使用一些服务器端代码,例如。菲律宾普)

所以那么你需要使用

localStorage.setItem("used"+randno, "true");

并检查是否localStorage.setItem("used"+randno) == "true",如果是这样,您将需要制作另一个随机数字(带有 while 循环)。

那时你要小心翼翼,因为如果你所有的精灵都被展示了,你就会陷入无限循环。

您还必须注意,某些浏览器不支持本地存储。如果您想了解更多信息,我建议您阅读其规范