前端通过后端返回的dataList数据进行搜索查询

/**
 * 任意字符串搜索
 * @param {String} val 需要查的value
 * @param {Array} data table数据源
 * @param {String} type 查询的类型  indexOf{模糊查询} filter{精准查询}
 * @returns {Array}
 */
export function tableSearchVal(data, val, type = 'indexOf') {
  /**
   * 判断是否为英文
   * 是的话转为大写并返回一个obj{ val:'', type:boolean }
   * 不是的话返回原来的string字符
   * 可根据业务需求变更   此时只需要val
   */
  let obj = IsEnglish(val)
  console.log(obj.val)
  let newTable = []
  if (type === 'filter') {
    newTable = data.filter((item) => {
      for (let k in item) {
        if (typeof item[key] === 'string') {
          return item[k] === obj.val
        }
      }
    })
  } else if (type === 'indexOf') {
    data.forEach((item) => {
      for (var k in item) {
        if (typeof item[k] === 'string') {
          if (item[k].indexOf(obj.val) != -1) {
            newTable.push(item)
            break
          }
        }
      }
    })
  }
  return newTable
}


// 判断是否为英文,英文直接转大写
export function IsEnglish(str) {
  str = str.trim()
  if (/^[A-z]{0,}$/.test(str)) {
    return { type: true, val: str.toUpperCase() }
  } else {
    return { type: false, val: str }
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值