gpt4 book ai didi

用于短语的javascript搜索字符串

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

我有一个正在编写的脚本,但我有点迷失了方向。

我获取用户输入(使用 jQuery),然后遍历数组并查看用户输入中是否存在数组中的短语。如果找到,我会弹出一个警告框,告诉他们它已找到。但由于某种原因,它不起作用。

代码:

submit = false;

for(i in keyphrases_array) {
if(english_text.indexOf(keyphrases_array[i]) != -1) {
if(trans_text.indexOf(keyphrases_array[i]) != -1) {
submit = false;
}
} else {
submit = true;
}
}

keyphrases_array 是在另一个函数中设置的全局数组。

例子:

如果我的数组中有短语“Hello World”,并且我的脚本在 english_text 变量中找到 Hello World,然后它会检查用户提交的文本 (trans_text)。如果在 trans_text 中找不到该短语,则脚本应返回 false。

最佳答案

首先,您不应该使用 for/in 来遍历数组。使用普通的 for 循环。

问题很可能是 submit 的值被循环中的下一次迭代覆盖了。如果那是函数的结尾,您应该立即返回。

submit = false;

for(var i = 0; i < keyphrases_array.length; i++) {
if(english_text.indexOf(keyphrases_array[i]) != -1) {
if(trans_text.indexOf(keyphrases_array[i]) != -1) {
// return immediately
return false;
}
} else {
submit = true;
}
}
return submit;

或者如果需要更多的处理,你可以打破循环:

submit = false;

for(var i = 0; i < keyphrases_array.length; i++) {
if(english_text.indexOf(keyphrases_array[i]) != -1) {
if(trans_text.indexOf(keyphrases_array[i]) != -1) {
submit = false;
break;
}
} else {
submit = true;
}
}

编辑:根据您的评论,如果在 trans_text 中找到文本,您似乎想要返回 false 。这意味着测试应该使用 == 而不是 !=

      if(trans_text.indexOf(keyphrases_array[i]) == -1) {
// return immediately
return false;
}

关于用于短语的javascript搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4150059/

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