当前位置: 首页 > news >正文

JavaScript数据筛选和模糊搜索

HTML样式:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>数据筛选</title><link rel="stylesheet" href="./css/data.css">
</head><body><div class="billboard"><h2>富豪榜</h2></div><input type="text" class="input" placeholder="搜索..." oninput="seach(value)"><table class="Serial"><thead><tr class=""><td>序号</td><td>姓名</td><td onclick="sorts()">富豪榜</td></tr></thead><tbody></tbody></table><script src="./js/datas.js"></script>
</body></html>

JS样式:

let data;let xhr = new XMLHttpRequest();
// 设置请求方式和请求地址
xhr.open('get', './js/data.json', true);
// 发送请求
xhr.send();
// 接收返回的响应数据
xhr.onreadystatechange = function () {if (xhr.readyState == 4 && xhr.status == 200) {data = JSON.parse(xhr.responseText);// 调用展示商品的函数console.log(data);// 调用函数show(data);}
};function show(data) {// 声明一个strlet str = ``;// for循环 循环假数据的长度for (let i = 0; i < data.length; i++) {// console.log(data);// 进行字符串拼接 将假数据获取过来str +=`<tr style="background-color:pink;"><td>${i + 1}</td><td>${data[i].name}</td><td>${data[i].ranking}</td></tr>`} if (data.length == 0) {str +=`<tr><td colspan="3">暂无数据</td></tr>`}// 将获取到的数据插入到页面当中document.getElementsByTagName('tbody')[0].innerHTML = str;
}function sorts() {// 进行if判断 存储一个数值if (sessionStorage.getItem("name") == 1) {data.sort((a, b) => a.ranking - b.ranking);sessionStorage.removeItem("name");} else {data.sort((a, b) => b.ranking - a.ranking);sessionStorage.setItem("name", "1");}// 调用渲染函数show(data);
}// 模糊搜索
function seach(target) {let arr = [];for (let i = 0; i < data.length; i++) {// 进行判断if (data[i].name.indexOf(target) >= 0 || String(data[i].ranking).indexOf(target) >= 0) {// push放入arr.push(data[i]);}console.log(arr);// 渲染函数show(arr);}
}

JSON假数据:

	[{"name": "老王","ranking": 8010},{"name": "老张","ranking": 9000}]

希望能帮到你们哟!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Infuse Pro for Mac全能视频播放器
  • PySide(PyQt)的QPropertyAnimation(属性动画)的应用实践
  • vue elementui 在table里使用el-switch
  • 经典文献阅读之--LIV-GaussMap(实时3D辐射场地图渲染的LiDAR惯性视觉融合算法)
  • tmux相关命令
  • 2024年7月25日(Git gitlab以及分支管理 )
  • linux禁用root
  • C++中的依赖注入
  • 手机怎么设置不同的ip地址
  • PHP Filesystem 简介
  • 【WAF剖析】10种XSS某狗waf绕过姿势,以及思路分析
  • 探索PyMuPDF:Python中的强大PDF处理库
  • 单例模式_Golang
  • 可以免费合并pdf的软件 合并pdf文件的软件免费 合并pdf的软件免费
  • 二十、【机器学习】【非监督学习】- 均值漂移 (Mean Shift)
  • hadoop集群管理系统搭建规划说明
  • Promise初体验
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Spring Cloud中负载均衡器概览
  • Spring-boot 启动时碰到的错误
  • 复杂数据处理
  • 给新手的新浪微博 SDK 集成教程【一】
  • 关于springcloud Gateway中的限流
  • 利用jquery编写加法运算验证码
  • 如何设计一个微型分布式架构?
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • #100天计划# 2013年9月29日
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (PySpark)RDD实验实战——取最大数出现的次数
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (实测可用)(3)Git的使用——RT Thread Stdio添加的软件包,github与gitee冲突造成无法上传文件到gitee
  • (转)创业家杂志:UCWEB天使第一步
  • ./configure、make、make install 命令
  • .net(C#)中String.Format如何使用
  • .net和php怎么连接,php和apache之间如何连接
  • .net中生成excel后调整宽度
  • /bin、/sbin、/usr/bin、/usr/sbin
  • @font-face 用字体画图标
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [ vulhub漏洞复现篇 ] Apache Flink目录遍历(CVE-2020-17519)
  • [ 第一章] JavaScript 简史
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具
  • [100天算法】-目标和(day 79)
  • [Android]使用Retrofit进行网络请求
  • [boost]使用boost::function和boost::bind产生的down机一例
  • [BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn
  • [BZOJ] 2427: [HAOI2010]软件安装