如何通过前端JavaScript编写实现本地数据模糊搜索功能的代码示例?

更新于
2026-09-26 16:00:58
1阅读来源:SEO问题
  • 内容介绍
  • 相关推荐

本文共计1237个文字,预计阅读时间需要5分钟。

如何通过前端JavaScript编写实现本地数据模糊搜索功能的代码示例?

目录

一、项目背景

二、涉及知识点

1.Object.assign() 的用法

2.filter() 方法

3.indexOf() 模糊查询

4.DEMO 完整代码

总结

一、项目背景

随着 Vue 和 React 在实际开发中的广泛应用,前端对数据的处理需求日益增长。本文将介绍如何在前端项目中运用 Object.assign()、filter() 和 indexOf() 等方法处理数据。

二、涉及知识点

1.Object.assign() 的用法

Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,然后返回目标对象。

2. filter() 方法filter() 方法创建一个新数组,包含通过所提供函数实现的测试的所有元素。

3. indexOf() 模糊查询indexOf() 方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回 -1。

4. DEMO 完整代码javascript// 示例数据const data=[ { name: '张三', age: 25 }, { name: '李四', age: 30 }, { name: '王五', age: 28 }];

// 使用 Object.assign() 合并对象const mergedData=Object.assign({}, data[0], { age: 26 });console.log(mergedData);

// 使用 filter() 过滤数据const filteredData=data.filter(item=> item.age > 25);console.log(filteredData);

// 使用 indexOf() 模糊查询const index=data.indexOf({ name: '李四' });console.log(index);

总结

一、项目背景

随着 Vue 和 React 在实际开发中的广泛应用,前端对数据的处理需求日益增长。本文介绍了如何在前端项目中运用 Object.assign()、filter() 和 indexOf() 等方法处理数据,以应对实际开发中的数据需求。

目录
  • 一、项目前景
  • 二、涉及知识点
    • Object.assign()的用法
    • filter()方法
    • indexOf()模糊查询
    • DEMO完整代码如下:
  • 总结

    一、项目前景

    随着vue、react在实际开发中应运越来越广泛,前端对数据的处理越来越多。这篇文章主要目的就是为了对服务端返回的数据进行处理,按照条件进行模糊查询,从而减少向服务端发送请求的次数,来提高性能和用户体验。下面以一个简单的DEMO,来实现模糊查询的功能:

    如何通过前端JavaScript编写实现本地数据模糊搜索功能的代码示例?

    测试用的数据如下:

    var data = [{ "title": "你的失恋修复期有多长?", "title_image": "img.doutuimao.net/dtmimg/b7c9ec393414982682e5a477eb995b55", "desc": "美食餐饮测试一下你的失恋修复期有多长", "id": "2", "num": 951357, "flag": "01" }, { "title": "你的撒娇指数有多高?", "title_image": "img.doutuimao.net/dtmimg/60d8ed86d1f72357c194506270c72ac1", "desc": "美食餐饮会撒娇的女人最好命,你有多会撒娇?你撒起娇来魅力又是怎么样的?快来测测吧!", "id": "3", "num": 963258, "flag": "01" }, { "title": "你未来的结婚方式?", "title_image": "img.doutuimao.net/dtmimg/538632e75159ce8e586778d289c66a11", "desc": "相信很多人都对自己未来的结婚方式充满期待,想知道你未来的结婚方式吗?", "id": "4", "num": 879564, "flag": "01" }, ]

    二、涉及知识点

    Object.assign()的用法

    Object.assign方法用来将源对象(source)的所有可枚举属性,复制到目标对象(target)。它至少需要两个对象作为参数,第一个参数是目标对象,后面的参数都是源对象。

    // 处理原始数组 let arrnew = data.map((item, index) => { return Object.assign({}, { 'desc': item.desc, }) })

    filter()方法

    filter()方法用于过滤数组元素。该方法创建一个新数组, 其中包含通过所提供函数实现的测试的所有元素。filter()不会对空数组进行检测,也不会改变原始数组。

    indexOf()模糊查询

    indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。与filter()方法配合,可以检测数组中是否包含输入的值,并返回。

    var newData = arrnew.filter(item => { if (item.desc.indexOf(value) > -1) { //indexOf方法中如果xxx.indexOf("")返回值为0 return item } return newData })

    DEMO完整代码如下:

    <div class="wrap"> <input type="text" id="demo"> <ul id="newsBox"> </ul> </div> function creat() { var value = input.value; var html = ""; let arrnew = data.map((item, index) => { return Object.assign({}, { 'desc': item.desc, }) }) var newData = arrnew.filter(item => { if (item.desc.indexOf(value) > -1) { //indexOf方法中如果xxx.indexOf("")返回值为0 return item } return newData }) if (newData.length > 0) { for (var i = 0; i < newData.length; i++) { html += `<li>${newData[i].desc}</li>` } } else { html += `<li>暂无数据</li>` } ul.innerHTML = html; } creat() input.onchange = function(e) { creat() }

    总结

    到此这篇关于JavaScript实现本地模糊搜索功能的文章就介绍到这了,更多相关JS本地模糊搜索内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

    本文共计1237个文字,预计阅读时间需要5分钟。

    如何通过前端JavaScript编写实现本地数据模糊搜索功能的代码示例?

    目录

    一、项目背景

    二、涉及知识点

    1.Object.assign() 的用法

    2.filter() 方法

    3.indexOf() 模糊查询

    4.DEMO 完整代码

    总结

    一、项目背景

    随着 Vue 和 React 在实际开发中的广泛应用,前端对数据的处理需求日益增长。本文将介绍如何在前端项目中运用 Object.assign()、filter() 和 indexOf() 等方法处理数据。

    二、涉及知识点

    1.Object.assign() 的用法

    Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,然后返回目标对象。

    2. filter() 方法filter() 方法创建一个新数组,包含通过所提供函数实现的测试的所有元素。

    3. indexOf() 模糊查询indexOf() 方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回 -1。

    4. DEMO 完整代码javascript// 示例数据const data=[ { name: '张三', age: 25 }, { name: '李四', age: 30 }, { name: '王五', age: 28 }];

    // 使用 Object.assign() 合并对象const mergedData=Object.assign({}, data[0], { age: 26 });console.log(mergedData);

    // 使用 filter() 过滤数据const filteredData=data.filter(item=> item.age > 25);console.log(filteredData);

    // 使用 indexOf() 模糊查询const index=data.indexOf({ name: '李四' });console.log(index);

    总结

    一、项目背景

    随着 Vue 和 React 在实际开发中的广泛应用,前端对数据的处理需求日益增长。本文介绍了如何在前端项目中运用 Object.assign()、filter() 和 indexOf() 等方法处理数据,以应对实际开发中的数据需求。

    目录
    • 一、项目前景
    • 二、涉及知识点
      • Object.assign()的用法
      • filter()方法
      • indexOf()模糊查询
      • DEMO完整代码如下:
    • 总结

      一、项目前景

      随着vue、react在实际开发中应运越来越广泛,前端对数据的处理越来越多。这篇文章主要目的就是为了对服务端返回的数据进行处理,按照条件进行模糊查询,从而减少向服务端发送请求的次数,来提高性能和用户体验。下面以一个简单的DEMO,来实现模糊查询的功能:

      如何通过前端JavaScript编写实现本地数据模糊搜索功能的代码示例?

      测试用的数据如下:

      var data = [{ "title": "你的失恋修复期有多长?", "title_image": "img.doutuimao.net/dtmimg/b7c9ec393414982682e5a477eb995b55", "desc": "美食餐饮测试一下你的失恋修复期有多长", "id": "2", "num": 951357, "flag": "01" }, { "title": "你的撒娇指数有多高?", "title_image": "img.doutuimao.net/dtmimg/60d8ed86d1f72357c194506270c72ac1", "desc": "美食餐饮会撒娇的女人最好命,你有多会撒娇?你撒起娇来魅力又是怎么样的?快来测测吧!", "id": "3", "num": 963258, "flag": "01" }, { "title": "你未来的结婚方式?", "title_image": "img.doutuimao.net/dtmimg/538632e75159ce8e586778d289c66a11", "desc": "相信很多人都对自己未来的结婚方式充满期待,想知道你未来的结婚方式吗?", "id": "4", "num": 879564, "flag": "01" }, ]

      二、涉及知识点

      Object.assign()的用法

      Object.assign方法用来将源对象(source)的所有可枚举属性,复制到目标对象(target)。它至少需要两个对象作为参数,第一个参数是目标对象,后面的参数都是源对象。

      // 处理原始数组 let arrnew = data.map((item, index) => { return Object.assign({}, { 'desc': item.desc, }) })

      filter()方法

      filter()方法用于过滤数组元素。该方法创建一个新数组, 其中包含通过所提供函数实现的测试的所有元素。filter()不会对空数组进行检测,也不会改变原始数组。

      indexOf()模糊查询

      indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。与filter()方法配合,可以检测数组中是否包含输入的值,并返回。

      var newData = arrnew.filter(item => { if (item.desc.indexOf(value) > -1) { //indexOf方法中如果xxx.indexOf("")返回值为0 return item } return newData })

      DEMO完整代码如下:

      <div class="wrap"> <input type="text" id="demo"> <ul id="newsBox"> </ul> </div> function creat() { var value = input.value; var html = ""; let arrnew = data.map((item, index) => { return Object.assign({}, { 'desc': item.desc, }) }) var newData = arrnew.filter(item => { if (item.desc.indexOf(value) > -1) { //indexOf方法中如果xxx.indexOf("")返回值为0 return item } return newData }) if (newData.length > 0) { for (var i = 0; i < newData.length; i++) { html += `<li>${newData[i].desc}</li>` } } else { html += `<li>暂无数据</li>` } ul.innerHTML = html; } creat() input.onchange = function(e) { creat() }

      总结

      到此这篇关于JavaScript实现本地模糊搜索功能的文章就介绍到这了,更多相关JS本地模糊搜索内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!