将URL参数转换为对象
创建一个包含当前URL参数的对象。
- 使用适当的正则表达式和
String.prototype.match()
来获取所有的键值对。 - 使用
Array.prototype.reduce()
将它们映射并组合成一个单一的对象。 - 将
location.search
作为参数传递给当前的URL。
const getURLParameters = url =>
(url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce(
(a, v) => (
(a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1)), a
),
{}
);
getURLParameters('google.com'); // {}
getURLParameters('http://url.com/page?name=Adam&surname=Smith');
// {name: 'Adam', surname: 'Smith'}