跳到主要内容

parseCookie

TS JS Deno

解析 HTTP Cookie 头字符串,并返回所有 cookie 名称-值对的对象。

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

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