queryString

parse

const queryString = {
  parse: function (url) {
    if (!url) return null;
    let str = url.includes("?") ? url.split("?")[1] : url;
    let items = str.split("&");
    let result = {}
    let arr = [];
    let i = 0;
    for (; i < items.length; i++) {
      arr = items[i].split('=');
      if (result[arr[0]]) {
        if (Array.isArray(result[arr[0]])) {
          result[arr[0]].push(arr[1])
        } else {
          result[arr[0]] = [result[arr[0]], arr[1]]
        }
      } else {
        result[arr[0]] = arr[1];
      };
    };
    return result;
  },
};

export default queryString;

使用:

import queryString from '@/utils/queryString';

queryString.parse('xxx?query=domain_group&query=domain_group1&query=domain_group2&query2=domain_group2')
/* 返回值
{
  query: (3) ["domain_group", "domain_group1", "domain_group2"]
  query2: "domain_group2"
}
*/ 

相关文章: