使用JavaScript实现模糊搜索功能

冬日暖阳 2021-05-07 ⋅ 90 阅读

随着互联网的迅猛发展,用户对搜索功能的需求也越来越多样。模糊搜索是一种常见的搜索技术,它可以根据用户输入的关键词来查找相关的结果,即使关键词不完全匹配也可以找到相近的结果。本文将介绍如何使用JavaScript来实现模糊搜索功能。

1. 获取搜索关键词

首先,我们需要获取用户输入的搜索关键词。可以通过HTML中的一个文本框来实现,用户在文本框中输入关键词后,可以通过JavaScript获取输入框的值。

<input type="text" id="search-input">
<button onclick="search()">搜索</button>

2. 实现模糊搜索

接下来,我们需要使用JavaScript来实现模糊搜索功能。我们可以使用indexOf方法来判断一个字符串是否包含另一个字符串。

function search() {
  // 获取关键词
  let keyword = document.getElementById('search-input').value;

  // 获取需要搜索的数据
  let data = ['苹果', '香蕉', '橙子', '桃子', '梨子'];

  // 存储匹配到的结果
  let results = [];

  // 遍历数据
  for (let i = 0; i < data.length; i++) {
    // 判断关键词是否匹配当前数据
    if (data[i].indexOf(keyword) !== -1) {
      // 匹配到的结果添加到结果数组中
      results.push(data[i]);
    }
  }

  // 输出结果
  console.log(results);
}

在上面的代码中,我们首先获取用户输入的关键词,然后定义一个数组data,用来存储需要搜索的数据。接着,我们创建一个空数组results,用来存储匹配到的结果。然后,我们遍历数组data,使用indexOf方法判断关键词是否匹配当前数据。如果匹配到了,就将该数据添加到结果数组results中。

3. 显示搜索结果

最后,我们需要将搜索结果显示在页面上,可以使用一个列表来展示。

function search() {
  // 获取关键词
  let keyword = document.getElementById('search-input').value;

  // 获取需要搜索的数据
  let data = ['苹果', '香蕉', '橙子', '桃子', '梨子'];

  // 存储匹配到的结果
  let results = [];

  // 遍历数据
  for (let i = 0; i < data.length; i++) {
    // 判断关键词是否匹配当前数据
    if (data[i].indexOf(keyword) !== -1) {
      // 匹配到的结果添加到结果数组中
      results.push(data[i]);
    }
  }

  // 显示搜索结果
  let resultList = document.getElementById('result-list');
  resultList.innerHTML = '';

  for (let j = 0; j < results.length; j++) {
    let listItem = document.createElement('li');
    listItem.textContent = results[j];
    resultList.appendChild(listItem);
  }
}

在上述代码中,我们首先创建一个空数组results,用来存储匹配到的结果。接着,遍历数组data,判断关键词是否匹配当前数据,将匹配到的结果添加到results中。

最后,我们将搜索结果显示在页面上,我们首先获取展示结果的列表resultList,然后使用createElement方法创建li元素,并将匹配到的结果添加到textContent中,最后将li元素添加到列表中。

结语

通过以上的步骤,我们成功使用JavaScript实现了模糊搜索功能。用户现在可以在输入框中输入关键词,然后点击搜索按钮,程序将根据关键词在一组预定义数据中查找匹配的结果,并将结果显示在页面上。

你可以根据自己的需求来更改搜索的数据和显示方式,以适应不同的场景。希望本文对您学习和使用JavaScript实现模糊搜索功能有所帮助。


全部评论: 0

    我有话说: