parseCookie - 返回所有 cookie 的 name-value 对的对象

优质
小牛编辑
134浏览
2023-12-01

解析 HTTP Cookie 标头字符串并返回所有 cookie 的 name-value 对的对象。

使用 String.split(';') 将键值对彼此分开。 使用 Array.map()String.split('=') 将键与每对中的值分开。 使用 Array.reduce()decodeURIComponent() 创建一个包含所有键值对的对象。

const parseCookie = str =>
  str
    .split(';')
    .map(v => v.split('='))
    .reduce((acc, v) => {
      acc[decodeURIComponent(v[0].trim())] = decodeURIComponent(v[1].trim());
      return acc;
    }, {});
parseCookie('foo=bar; equation=E%3Dmc%5E2'); // { foo: 'bar', equation: 'E=mc^2' }