function search2Obj(str){
str = str || '';
str = str.indexOf('?') > -1 ? str.slice(str.indexOf('?') + 1) : str;
var items = str.split('&');
var result = {};
for (let i = 0; i < items.length; i++) {
var arr=items[i].split('=');
var key = arr[0];
var value = arr[1];
if (key) {
if (result[key]) {
if (Array.isArray(value)) {
result[key] = result[key].concat(value);
} else {
result[key] = [result[key]].concat(value);
}
} else {
result[key] = value;
}
}
}
return result;
}
function obj2Search(obj, needSymbol){
if (Object.prototype.toString.call(obj) !== '[object Object]' || !Object.keys(obj).length) {
return '';
}
let result = needSymbol ? '?' : '';
const _arr = [];
for (const k in obj) {
const value = obj[k];
if (Array.isArray(value)) {
// _arr.push(k + '=' + value.join(','));
value.forEach(item => {
_arr.push(k + '=' + item);
});
} else {
_arr.push(k + '=' + value);
}
}
result += _arr.join('&');
return result;
}