我怎样才能搜索我的名字? (JavaScript的)

时间:2015-08-14 11:11:47

标签: javascript search search-engine

我想创建一个基本的搜索“引擎”。这是我的代码,但它不起作用:

alert("Search for your name!");

var name = prompt("Type in your name.").toLowerCase().split("");

var text = prompt("Type in some text with your name in it.").toLowerCase().split("");

var arrayNumber = 0;

var hits = [];

for(var i = 0; i < text.length; i++) {

    if(name !== hits){  

        if(text[i] === name[arrayNumber]) {

                hits.push(text[i]);
                arrayNumber = arrayNumber + 1;

        } else if (text[i] !== name[arrayNumber]) {
            hits = [];
            arrayNumber = 0;
        } else {
            alert("Soemthing went wrong!");
        }
    } else {
        alert(hits);    
    }   
}

我确定这很可怕,但我喜欢尝试:D PS。:我已经学习了不到5天的JavaScript。

3 个答案:

答案 0 :(得分:0)

如果您想在名字中找到一些文字,那么您可以使用indexof。

function Search()
{
alert("Search for your name!");

var name = prompt("Type in your name.").toLowerCase().split("");

var text = prompt("Type in some text with your name in it.").toLowerCase().split("");
   if(name.indexof(text) > 0 )
   {
     /// here your logic
   } 
}

答案 1 :(得分:0)

我不确定这是什么任务,但这是一个简单的程序。你可以在JSFiddle

中试试
alert("Search for your name!");

var name = prompt("Type in your name.").toLowerCase();
console.log(name);

var text = prompt("Type in some text with your name in it.").toLowerCase().split(" ");
console.log(text);

var arrayNumber = 0;

var hits = 0;

for(var i = 0; i < text.length; i++) {
    if(name === text[i])
      hits++;
}

if(hits === 0)
    alert("Your name is not found!")
else
    alert("Found your name " + hits + " time(s)")

答案 2 :(得分:0)

以下是工作示例,我不喜欢警报和提示,但它可以告诉您应该朝哪个方向前进。 这只是一个简单的示例,我建议您花时间分析您的需求并学习OOP JS,以便简单搜索的最终结构可以维护。

&#13;
&#13;
alert("Search for your name!");

var name = prompt("Type in your name.").toLowerCase().split(" ");
var text = prompt("Type in some text with your name in it.").toLowerCase();
var hits = 0;

for(var i = 0; i < name.length; i++) {

   if(text.indexOf(name[i]) > -1 ) {
      hits++;
   }

} 

if(hits == name.length) {
   alert('full match');
}
else if(hits > 0 && name.length > 1) {
   alert('partial match');
}
else {
   alert('no matches');
}
&#13;
&#13;
&#13;

我希望您能快速浏览代码中可怕的警报:)