我目前正在尝试编写一个文字游戏,其中玩家将他/她找到的单词键入文本框并点击提交。点击提交后,该单词存储在一个数组中,我可以在Javascript中执行某些操作,并清除文本框以便他们可以输入另一个单词。我想我最终可以解决这些问题(我是HTML和JavaScript的新手),但我不知道如何做我想做的事情。我需要检查玩家在一系列经过验证的单词中找到的每个单词。我在这里找到了一些代码,用于搜索单个单词是否与任何字符串匹配,但是如何编写一个代码来检查玩家在字典/验证数组中找到的所有单词?
答案 0 :(得分:1)
您可以迭代用户数组中的每个元素,并使用IndexOf查看它是否存在于经过验证的数组中。如果找不到,IndexOf将返回-1。
for (var i = 0; i < userArray.length ; i++)
if(verifiedWordArray.indexOf(userArray[i]) == -1)
return false;
return true;
如果你必须匹配特定的位置,假设它们的长度都相同,这就可以了。
for (var i = 0; i < userArray.length ; i++)
if(userArray[i] != verifiedWordArray[i])
return false;
return true;
答案 1 :(得分:0)
伪代码:
ans = true // assume the user is right
for (each of the words in user input array){
if(current word is not in the predefined array){ // use .indexOf()
ans = false
break; //stop loop
}
}
完成此循环后,根据用户的输入,ans
将为真或假。
答案 2 :(得分:0)
如果您在客户端执行此操作,则可以将单词的字典存储在数组中,例如array= ["one","two", "three","word"]
,然后使用此{{1}检查用户对您的字典的单词word
}}
答案 3 :(得分:0)
function getIntersect(arr1, arr2) {
var r = [], o = {}, l = arr2.length, i, v;
for (i = 0; i < l; i++) {
o[arr2[i]] = true;
}
l = arr1.length;
for (i = 0; i < l; i++) {
v = arr1[i];
if (v in o) {
r.push(v);
}
}
return r;
}