我绝对是新手,正在尝试练习项目。 它基本上是一个字谜游戏,用户点击某些字母来组合一个单词。 我现在需要检查它是否真的是一个词。我制作了一个包含字典中所有单词的文本文件(从某人的网站复制过来,只是一个练习项目)。我已经设法得到它,所以如果我可以 console.log 的话。
function Searchtext(){
$.get('words.txt', function(data) {
console.log(data);
}, 'text');
}
现在我想搜索单词以查看玩家的答案(在名为 playeranswer 的变量中声明的字符串)是否在列表中。我不需要它来返回这个词,只需要它是否存在。注意它必须是准确的,例如,如果用户输入了不是单词的“ender”,它就不会返回 true,因为它找到了“render”这个词。也许带有 .length 的东西会有帮助?
我该怎么做?
感谢您的帮助。
最佳答案
由于 $.get
是异步的,因此您必须对其进行一些不同的设置。我会这样做:
function Searchtext(name, callback) {
$.get('words.txt', function(data) {
data = data.split("\n");
var contains = (data.indexOf(name) > -1);
callback(contains);
}, 'text');
}
根据文本文件的设置方式,您可能必须更改 .split("\n")
(如果每个单词都在一行中,它将单词拆分成一个数组) 到 .split("")
(如果单词之间用空格分隔,它将单词拆分成一个数组)。
你会这样调用它:
SearchText(playername, function (matched) {
if (matched) {
// Name was in list
} else {
// Name wasn't in list
}
});
演示: http://jsfiddle.net/Fkr5B/
在演示中,我必须模拟 AJAX 请求。
关于Javascript/Jquery 搜索字符串中是否存在单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16224450/