我在查找和显示数组中的字符串时遇到了一些问题。多年来没有做过任何类型的代码,所以我有点生疏。我的问题是这样的:与indexOf for循环中的数组匹配字符串,错误
说我有一个这样的数组:
var titles = ["0","Little Mouse", "1","Shaman Disciple", "2","Accomplished Shaman", "3","Shaman", "4","Little Pixie"];
(数字前的头衔是指用作标题的ID,我只是用标题[I-1]去取,这是非常重要的,他们在那种顺序!)
而且我想找到该数组中包含“小”,并显示其相应的数字的每个字符串。我想出了这个,但它不会工作,我已经尝试阅读关于循环和写东西的一堆,但我无法弄清楚。 我想出了这个脚本:
var x=document.getElementById("title").value;
var xs=x.toLowerCase();
for(var i = 0; i <= titles.length; i++){
if(xs.indexOf(titles[i].toLowerCase()) != -1){
document.getElementById("command").innerHTML = "/title " + titles[i-1];
} else {
document.getElementById("command").innerHTML = "no title like that";
}
}
它的设置去的onkeyup =“dostuff()”在一个文本框(我知道不可能是健康的还是不错的代码,但不管),而且它如果你输入完整的字符串,它就不会显示数组中的所有匹配。我知道我应该使用innerHTML + blahblah而不是innerHTML = blahblah,但它只是无限期地增加了标题!我该怎么办
对不起,对文本的墙!
你想要标题或编号作为你的结果吗?为什么你的阵列首先是这样呢? – PHPglue