美文网首页
前端本地实现搜索排序

前端本地实现搜索排序

作者: moonCoder | 来源:发表于2019-09-26 17:27 被阅读0次

排序实现:
首先有一个排序选择框(按某个属性进行排序),排序的触发方法:

 Sort = value => {
    console.log(value);
    var sortObj = this.state.defaultData.sort(this.compare(value));
    this.setState({ tabledata: sortObj });
  };

compare = property => {
    return function(objF, objS) {
      var valueF = objF[property];
      var valueS = objS[property];
      return valueS - valueF; // 升序
    };
  };
this.state.defaultData // 需要排序的全部数据
this.state.tabledata// 排序后展示的数据

搜索实现:
首先有一个搜索框,输入点击触发搜索:

IPSearch = value => {
    console.log(value);
    if (value.length > 0) {
      var arr = [];
      this.state.defaultData.map(item => {
        if (item.Ip.split(value).length > 1) {
          arr.push(item);
        }
      });
      this.setState({ tabledata: arr });
    } else {
      this.setState({ tabledata: this.state.defaultData });
    }
  };
this.state.defaultData // 需要搜索的全部数据
this.state.tabledata// 搜索后展示的数据
//无输入时显示全部数据

根据数据类型筛选出需要显示的数据:
首先我们需要拿出数据的数据类型:

selectData = () => {
    const env = [];
    const idc = [];
    this.state.tabledata.map(item => {
      env.push(item.Env);
      idc.push(item.Idc);
    });
    var envset = Array.from(new Set(env));
    var idcset = Array.from(new Set(idc));
    this.setState({ idcList: idcset, envList: envset });
  };
//利用Set方法去重

筛选:

 Idc = value => {
    var arr = [];
    this.state.defaultData.map(item => {
      if (item.Idc === value) {
        arr.push(item);
      }
    });
    this.setState({ tabledata: arr });
  };

  Env = value => {
    var arr = [];
    this.state.defaultData.map(item => {
      if (item.Env === value) {
        arr.push(item);
      }
    });
    this.setState({ tabledata: arr });
  };

相关文章

  • 前端本地实现搜索排序

    排序实现:首先有一个排序选择框(按某个属性进行排序),排序的触发方法: 搜索实现:首先有一个搜索框,输入点击触发搜...

  • 前端实现搜索排序

    筛选数组 filter函数,里面检测的是下面的函数 1 .正则 reg.test(str):正则匹配到对应字符串就...

  • 前端js实现本地模糊搜索

    很多时候我们做模糊查询是传关键字给后台请求后台接口,但是有时候一些轻量级的列表前端来做可以减少ajax请求,在一定...

  • 【机器学习】智能排序之Learning to rank

    目前公司在本地服务相关的领域进行探索,涉及到搜索排序相关的问题。相较于传统搜索,本地服务(尤其餐饮)的搜索排序问题...

  • ios-Predicate介绍

    实现搜索 使用谓词实现分组排序

  • Python数据结构 第五章--排序和搜索

    本章目标: (1)了解和实现顺序搜索和二分法搜索。 (2)了解和实现选择排序、冒泡排序、归并排序、快速排序、插入排...

  • 前端搜索实现

    实际开发中前端实现搜索不太常见,一般来都是后台提供接口实现,但是,今日开发中遇到了,在做促销活动时,选择商品,放入...

  • 2019-08-06

    NumPy - 排序、搜索和计数函数 NumPy中提供了各种排序相关功能。 这些排序函数实现不同的排序算法,每个排...

  • 记录一次IE8的填坑之旅

    业务需求分析 简单来说,需在前端实现搜索图片的交互。流程来看,无非先本地选中图片,浏览器端用户可以对图片进行相应的...

  • 前端实现本地储存

    本地储存大概有三种方式:cookie,localstorage,sessionStorage。 1.cookie ...

网友评论

      本文标题:前端本地实现搜索排序

      本文链接:https://www.haomeiwen.com/subject/tjahuctx.html