id=4&manufactorId=4
转成对象
const obj = {
id: 4,
manufactorId: 4
}
如何转成这样的?
function getParamsObject(query){
return query
.split('&')
.map(substring=>substring.split('='))
.reduce((a,c)=>{
const [key,value] = c;
a[key] = value;
return a;
},{})
}
const result = getParamsObject('id=4&manufactorId=4')//{id: '4', manufactorId: '4'}
// 实现方法很多,随便写了一种
function fn(str) {
return Object.fromEntries(str.split('&').map(v => v.split('=')))
}
const obj = fn('id=4&manufactorId=4')
console.log(obj)
function paramsFormate(str) {
if (str) {
return Object.fromEntries(new URLSearchParams(str));
}
}
const obj = {};
'id=4&manufactorId=4'.replace(/([^&=]+)=([^&=]*)/g, (_,k,v)=>{
let $v = decodeURIComponent(v);
if (!isNaN($v)) {
$v = Number($v);
}
obj[k] = $v;
}
);
console.log(obj);
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
1 回答3.3k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决