get 参数转对象?

id=4&manufactorId=4

转成对象

const obj = {
  id: 4,
  manufactorId: 4
}

如何转成这样的?

阅读 2.4k
5 个回答
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);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题