解析 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' }