'a=1&b=2'.split('&').reduce((prev, curr) => {
console.log('log',prev,curr);
const p = curr.split('=');
prev[p[0]] = p[1] || '';
console.log('prev', prev);
return prev;
}, {});
reduce 接受两个参数 第一个参数是一个函数,第二个参数是 提供的初始值
函数接受四个参数
previousValue 上一次调用回调返回的值,或者是提供的初始值(initialValue)
currentValue 数组中当前被处理的元素
index 当前元素在数组中的索引
array 调用的数组
前两个参数为必填项
reduce接收一个函数为数组中的每一个元素依次执行该函数
最后返回一个结果