如果(随机)单词不存在,则完全重复/重新启动功能
If (random) word is not there, completely repeat/restart function?
我正在制作这个随机用户名生成器的东西,因为我可以并且它有选项和东西,其中之一是确保名称中的一个单词是用户在输入中键入的单词,但我无法让它工作。
我使用 .search() 来确定它是否已经存在,但我无法让它重复该函数。
现在,我很确定我所需要的只是完全重复或重新启动该功能,大约在这里
if(n="-1") {
// ?????
}
这是整个代码:
function makeName() {
var typed = document.getElementById("field1").value;
var first = [/*1ST PART OF NAMES */];
var second = [ /*2ND PART OF NAME*/ ];
var rand = Math.floor(Math.random()*first.length);
var sand = Math.floor(Math.random()*second.length);
var right = first[rand];
var wrong = second[sand];
var str = right + wrong;
var n = str.search(typed);
if(n="-1") {
/* here's where i'm stumped pretty much
i need to restart the function here i think */
}
document.getElementById("field2").value= str;
$("#result").fadeIn("fast");
}
无论是javascript还是jquery或任何真正有效的东西,只要它真的有效
n = "-1"
是一个赋值 - 它总是计算布尔true
(因为"-1"字符串在JS中被认为是真值)。
然而,n === -1
是一个比较,这可能是你在这里需要的。无需与字符串"-1"进行比较 - search
(以及indexOf
- 顺便说一句,最新的更适合这里)总是返回一个数字。
尝试类似
function makeName() {
var typed = document.getElementById("field1").value;
var first = [/*1ST PART OF NAMES */];
var second = [ /*2ND PART OF NAME*/ ];
// use a loop and move the calculating code inside it
// initialize the variables so that it will not break on first iteration
var n = -1;
var str = '';
while (n==-1) {
var rand = Math.floor(Math.random()*first.length);
var sand = Math.floor(Math.random()*second.length);
var right = first[rand];
var wrong = second[sand];
str = right + wrong;
n = str.search(typed);
}
document.getElementById("field2").value= str;
$("#result").fadeIn("fast");
}
但是您还需要确保您的代码不会永远重复
除了重新启动之外,我不确定该函数执行您在问题中描述的任务。
您正在随机合并来自first
的单词和来自second
的单词,并检查是否在其中找到typed
字符串。
如果要检查列表,则不需要随机选择项目,而是遍历所有项目,直到找到为止。
您可能希望为每个数组使用常规for
循环,并与其中的每个项目进行匹配。
你必须比较使用n == "-1"
当你比较值时 你必须使用双 == 而不是单 =所以错误在行中:
if(n="-1")
它应该是:
if(n == -1)
相关文章:
- 当我在重新启动cordova应用程序后尝试添加更多数据时,lokijs会丢失数据库和收集中的数据
- 重新启动jquery脚本后,角度停止工作
- Chrome内容脚本制作cookie;chrome重新启动时,cookie会被删除.如何使其稳定
- preventDefault之后的重新启动事件
- WebStorm,使用Node Supervisor(因此不必在每次代码更改后重新启动)
- 重新启动游戏jQuery功能不工作
- Web服务器意外退出,正在重新启动新实例
- 在变量中保存值的最佳方法是在应用程序关闭后使用,然后使用apachecordova在android中重新启动
- 重新启动画布 JavaScript
- 事件侦听器,用于完全关闭后重新启动的应用程序
- 自动完成功能未启动
- Node SocketIO以编程方式强制在损坏的套接字上重新启动
- 服务器重新启动后javascript不工作
- 当滚动到指定的位置时,启动功能,如何重置它并重新启动,如果我们再次回到这个位置
- Gulp Concat+Browsesync重新启动
- 在 javaScript 中重新启动 setInterval
- 如果(随机)单词不存在,则完全重复/重新启动功能
- 功能重新启动工作不正确
- jQuery动画问题由于滚动重新启动的功能
- 如何在clearInterval之后重新启动相同的功能