reduce

356 阅读1分钟
'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接收一个函数为数组中的每一个元素依次执行该函数

最后返回一个结果