标签:isa use array arch def ons baseurl str 应用
function encodeSearchParams(obj) {
const params = [];
Object.keys(obj).forEach((key) => {
let value = obj[key];
// 如果值为undefined置空
if (typeof value === 'undefined') {
value = '';
}
//使用encodeURIComponent进行编码
if (Array.isArray(obj[key])) {//类型为数组的时候
value.forEach(item => {
params.push([key, encodeURIComponent(item)].join('='));
});
}
if (Object.prototype.toString.call(obj[key]) === '[object Object]') {//类型为对象的时候
Object.keys(obj[key]).forEach(item => {
params.push([key, encodeURIComponent(obj[key][item])].join('='));
})
}
else {
params.push([key, encodeURIComponent(value)].join('='));
}
});
return params.join('&');
}
let obj = {
'username': 'zhangsan',
arr: ['a', 'b', 'c'],
obj: { obj1: 'obj1', obj2: 'obj2' }
};
let str = `${baseUrl}?${encodeSearchParams(obj)}`; //方法使用
// baseUrl = 'www.good.com'
//www.good.com?username=zhangsan&arr=a&arr=b&arr=c&arr=a%2Cb%2Cc&obj=obj1&obj=obj2
具体思想如上 需根据实际应用
标签:isa use array arch def ons baseurl str 应用
原文地址:https://www.cnblogs.com/kbinblog/p/11557741.html