js 拼接搜索条件 {a: 'xx', b: 'yyy', c: 'zzz'} 成 ?a=xx&b=yyy&c=zzz
2021-01-22 22:59
253 查看
拼接搜索条件 {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, })
相关文章推荐
- mybatis There is no getter for property named 'xx' in 'class java.lang.String
- cocos2d-x发生undefined reference to `XX'异常 一劳永逸解决办法
- Warning: can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry [yyy.jar:META-INF/MANIFEST
- ajax 回调 + tp +<ul> + jquery + js搜索
- [Visual Studio 2010]如何解决错误CoClass 'xx' can be used only as one of its applicable interfaces
- 数据库还原可疑.无法打开数据库'XX'版本 611.请将该数据库升级为最新版本.
- Unable to resolve target 'android-XX'解决办法
- js' 字符串转换成JSON对象的方法
- org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'xx' is defined
- Bean property XX' is not writable or has an invalid setter method
- 深入android Unable to resolve target 'android-XX'详解
- A Knight's Journey (搜索)
- Vue.js实现多条件筛选、搜索、排序及分页的表格功能
- JS中为什么(' ' == 0) 为true
- URL地址传值型多条件搜索JS
- 两个C++编译错误及解决办法--does not name a type和field `XX' has incomplete type
- Windows node.js npm install express -g Cannot find module 'express'
- angular this vs $scope (How does 'this' and $scope work in AngularJS controllers?)
- Errors running builder 'xx' on project_java
- HDU 2995 Another Panda's Birthday Present(条件概率|概率生成函数 )