zoukankan      html  css  js  c++  java
  • js 拼接搜索条件 {a: 'xx', b: 'yyy', c: 'zzz'} 成 ?a=xx&b=yyy&c=zzz

    拼接搜索条件 {a: 'xx', b: 'yyy', c: 'zzz'}?a=xx&b=yyy&c=zzz

      // 只保留有值的搜索条件,拼接成 ?a=xx&b=yyy&c=zzz (传入空对象会返回空字符串)
      searchObjToQueryString(searchObj) {
        // 默认约定搜索条件都是字符串
        let queryStr = ''
        Object.entries(searchObj).forEach((item, index) => {
          // 字段为空、所属范围是金东区,则不拼接到查询条件里
          if (item[1] === '') {
            // 仅是结束本轮循环,不是跳出整个循环
            return false
          } else if (item[0] == 'regional' && item[1] == '金东区') {
            // 仅是结束本轮循环,不是跳出整个循环
            return false
          }
    
          // 根据第一位是不是 "?" 来决定如何拼接
          if (queryStr[0] != '?') {
            queryStr = `?${item[0]}=${item[1]}`
          } else {
            queryStr = queryStr + `&${item[0]}=${item[1]}`
          }
        })
        // console.log(queryStr, 'searchObjToQueryString queryStr')
        return queryStr
      },
    

    高级用法

      // 只保留有值的搜索条件,拼接成 ?a=xx&b=yyy&c=zzz (传入空对象会返回空字符串)
      searchObjToQueryString(searchObj) {
        // 默认约定搜索条件都是字符串
        let queryStr = ''
        Object.entries(searchObj).forEach((item, index) => {
          // 字段为空、所属范围是金东区,则不拼接到查询条件里
          if (item[1] === '') {
            // 仅是结束本轮循环,不是跳出整个循环
            return false
          } else if (item[0] == 'regional' && item[1] == '金东区') {
            // 仅是结束本轮循环,不是跳出整个循环
            return false
          }
    
          // 根据第一位是不是 "?" 来决定如何拼接
          if (queryStr[0] != '?') {
            queryStr = `?${item[0]}=${item[1]}`
          } else {
            queryStr = queryStr + `&${item[0]}=${item[1]}`
          }
        })
        // console.log(queryStr, 'searchObjToQueryString queryStr')
        return queryStr
      },
    
      // 按搜索条件搜索地块
      searchDikuai(searchObj) {
        // { region, searchValue, minValue, maxValue, industry }
        console.log(searchObj, 'searchObj')
        let that = this
        wx.request({
          url: urlList.searchDikuai + this.searchObjToQueryString(searchObj),
          method: "GET",
          // header: {
          //   'content-type': 'application/x-www-form-urlencoded'
          // },
          success(res) {
            console.log(res, 'searchDikuai res')
            if (res.data.msg == '请求成功') {
              let data = res.data.data
              // console.log(data, 'searchDikuai data')
              that.setData({
                listData: data
              })
            }
          },
          fail(err) {
            console.log(err, 'err')
          }
        })
      },
          
          
          // 调用搜索方法
          this.searchDikuai({
            regional: regional,
            searchValue: searchValue,
            minValue: minValue,
            maxValue: maxValue,
            industry: industry,
          })
    
  • 相关阅读:
    AC 自动机
    [HihoCoder-1424] Asa's Chess Problem
    C++ Tricks
    2017"百度之星"程序设计大赛
    后缀自动机
    ASP教程:gb2312和utf-8乱码问题解决
    cryto-js 常用加密库 md5加密
    nrm是什么?以及nrm的安装与命令
    MongoDB 安装
    koa2 安装与启动
  • 原文地址:https://www.cnblogs.com/suwanbin/p/14315867.html
Copyright © 2011-2022 走看看