UNPKG

simple-utils-js

Version:

前端,前端开发,前端框架,web前端,前端面试题,技术文档,学习,面试,JavaScript,js,ES6,TypeScript,vue,python,css3,html5,Node,git,github,markdown

30 lines (27 loc) 761 B
/** * @description: * @param {*} query * @return {*} */ const parse = (query = {}) => { return Object.keys(query) .filter((key) => !isEmpty(query[key])) .reduce((result, key) => { const value = query[key]; // in查询特殊处理 if (Array.isArray(value) && !isEmpty(value)) { return `${result}&${value.reduce( (val, cVal) => `${val ? `${val}&` : val}${key}=${cVal}`, '' )}`; } // between查询做特殊处理 if (typeof value === 'object' && !isEmpty(value)) { const [start, end] = value; return `${result}&${key}[]=${start}&${key}[]=${end}`; } return `${result}&${key}=${value}`; }, '') .replace(/^&/, '?'); }; module.exports = parse