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

做一个网站需要多少人域名查询网中国万网

做一个网站需要多少人,域名查询网中国万网,凡科网站怎么做链接,seo网站推广如何做一.搜索函数的使用 在当代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/525872.html

相关文章:

  • 【Java面向对象编程(OOP)的三大基本特性】
  • 潍坊网站商品网站怎么做的
  • 响应式网站页面设计福彩网站开发
  • 专做婚纱店设计网站网站设计软件开发
  • 上海网站建设口碑最好的公司低成本门户网站开发
  • Watch and Learn: Semi-Supervised Learning of Object Detectors from Videos
  • 北京网站开发报价到那个网站做翻译接单
  • 云蛇吞路懂车赛-游戏程序系统方案
  • 自己做网站不想买空间 自己电脑可以做服务器吗?yu网站建设
  • 网站建设费能入长期待摊吗网站建设及网页设计教案
  • h5网站欣赏wordpress搜索调用
  • DepthAI V3.1.0 正式版发布!
  • 网络课程网站开发过程东莞长安网站设计公司
  • UVa 11183 Teen Girl Squad
  • 医疗教育的网站建设山西公司网站建设
  • CompositionLocal 用法
  • 怎样设计一个网站平台免费seo课程
  • EFM8开发系列
  • 哈尔滨网站优化咨询wordpress哪个模版好用
  • 网站策划ppt自己申请网站空间
  • 阿里云国际站GPU:阿里云GPU怎么释放实例?
  • Linux网络UDP(10)
  • 网站培训制度wap网站开发流程
  • 稳定网站服务器租用厦门网站建设公司
  • Linux实现每3天23点定时重启服务器
  • wordpress公司网站郑州网站seo服务
  • 【数据合成】Socratic-Zero 自动合成数据 指导课程学习
  • 2024包河初中组
  • “我店 + 微团“ 如何做到 “高频带低频“?拆解用户终身价值挖掘路径
  • 企业网站内容模块站酷官网入口