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

做一个网站需要多少人权威的手机网站制作

做一个网站需要多少人,权威的手机网站制作,网站建设需要注意什么,做暖暖小视频网站一.搜索函数的使用 在当代web制作中,多条件搜索不论是在后台系统或者说移动端都极为常见,其中最常见的莫过于在后台系统中的多条件搜索,根据后台庞杂的数据,我们往往需要一个好用的搜索函数来帮助我们进行多条件搜索 1.当执行多…

一.搜索函数的使用

在当代web制作中,多条件搜索不论是在后台系统或者说移动端都极为常见,其中最常见的莫过于在后台系统中的多条件搜索,根据后台庞杂的数据,我们往往需要一个好用的搜索函数来帮助我们进行多条件搜索

1.当执行多条件搜索的时候,我使用的是filter封装的函数,封装函数的代码可以提升我们代码的可读性以及可复用性,同时封装的越好,使用起来越简便,以下是我封装的一个利用filter封装的多条件搜索函数,同时也注意了对空值的处理
 

function multiConditionSearch(data, conditions) {// 根据sessionStorage中的change_id来选择不同的数据源data = globalData;// 取消所有复选框的选中状态$(".notice_nav .checkbox_id input").prop("checked", false);// 辅助函数,用于获取嵌套对象的值function getNestedValue(obj, path) {const parts = path.split(".");return parts.reduce((current, key) => {return current && current[key] !== undefined ? current[key] : null;}, obj);}// 过滤掉无效的条件const validConditions = Object.fromEntries(Object.entries(conditions).filter(([_, value]) => {if (typeof value === "object" && !Array.isArray(value)) {if ("like" in value) {return value.like.trim() !== "";} else if ("start" in value && "end" in value) {return value.start.trim() !== "" || value.end.trim() !== "";}}return (value !== null && value !== undefined && String(value).trim() 
!== "");}));// 根据有效条件过滤数据const searchResult = data.filter((item) => {return Object.keys(validConditions).every((key) => {const condition = validConditions[key];// 获取嵌套属性的值const itemValue = getNestedValue(item, key);if (typeof condition === "object" && !Array.isArray(condition)) {if (condition.start && condition.end) {const itemTime = new Date(itemValue).getTime();const startTime = new Date(condition.start).getTime();const endTime = new Date(condition.end).getTime();return itemTime >= startTime && itemTime <= endTime;} else if (condition.like) {if (typeof itemValue === "string") {return itemValue.toLowerCase().includes(condition.like.toLowerCase());}return false;}} else {return itemValue === condition;}});});// 调用 render 函数进行数据渲染page = 0;render(searchResult);return searchResult;}

2.该函数可以放在公共界面,在其他页面调用

conditions = {name: { like: $("#drug_name").val() },create_time: { start: $("#start_date").val(), end: $("#end_date").val() },};data = multiConditionSearch(data, conditions);

3.在页面上调用仅仅需要设置不同的类名用以匹配对应的数据即可,后续的赋值则是确保分页在点击的时候可以获取到正确的数据,而不是错误的全局数据,同时我的函数也可以处理嵌套的数据,关键函数即

// 辅助函数,用于获取嵌套对象的值function getNestedValue(obj, path) {const parts = path.split(".");return parts.reduce((current, key) => {return current && current[key] !== undefined ? current[key] : null;}, obj);}

4.用于提取嵌套的数据格式,类似于

const obj = {a: {b: {c: "Hello, World!"}}
};// 使用 getNestedValue 获取值
const result1 = getNestedValue(obj, "a.b.c");
console.log(result1);  // 输出: "Hello, World!"// 路径无效的示例
const result2 = getNestedValue(obj, "a.x.y");
console.log(result2);  // 输出: null// 路径部分为 null 或 undefined 的示例
const result3 = getNestedValue(obj, "a.b.c.d");
console.log(result3);  // 输出: null

总结

通过这个函数,我可以处理目前我遇到的各种多条件搜索,且并不影响太多性能的同时,可以随时通过增加筛选条件来适配更多的条件筛选

http://www.dtcms.com/a/423429.html

相关文章:

  • Flink 有状态与时间敏感流处理从 Concepts 到 API 实战
  • UNIX下C语言编程与实践11-UNIX 动态库显式调用:dlopen、dlsym、dlerror、dlclose 函数的使用与实例
  • 【形宙数字】Pupil Neon VR|AR|XR虚拟现实眼动追踪系统-眼动仪-视线追踪-生理心理学-虚拟模拟
  • JupyterLab+PyTorch:LoRA+4-bit量化+SFT微调Llama 4医疗推理应用|附代码数据
  • python-格式化输入输出
  • 【Dogfight论文复现】无人机视频中检测无人机的目标检测模型
  • 北京矿建建设集团有限公司 网站谷歌seo服务公司
  • 食品行业数字化转型实战:工艺优化解决方案中的四大核心模块详解
  • 【文件上传漏洞】绕过验证上
  • UDP的理解
  • 可信的昆明网站建设什么网站是免费的
  • 【gin框架读取参数的方式】
  • 南京建网站wordpress 主题demo
  • 铜陵高端网站建设seo优化关键词0
  • 济南教育论坛网站建设哪个平台查企业免费
  • asp连接数据库做登录网站完整下载辽宁城乡住房建设厅网站首页
  • golang可观测-无侵入式agent技术原理
  • Hive中map函数的基础知识及使用
  • 《法务RAG开发不踩坑:Kiln+LlamaIndex+Helicone的协同方法指南》
  • 五金外贸接单网站个人如何做购物网站 关于支付接口
  • 做小型企业网站多少钱浙江网站优化公司
  • 美团滑块-[h5Fingerprint] 加密分析
  • 华北水利水电大学信息工程学院赴郑州埃文科技有限公司交流
  • 如何申请域名网站注册怎么上传做 好的网站吗
  • 网站开发工程师要求php红色酒类食品企业网站源码
  • AI视频技术的边界:现状、限制与未来展望
  • 企业门户网站费用2345网止导航
  • 有自己的网站怎么做淘宝客济南网站建设系统
  • Android音频学习(二十一)——ALSA简介
  • Android 12 SplashScreen启动屏