From f7a4a80a233b5eccea65ddae4653ded6bc167d81 Mon Sep 17 00:00:00 2001 From: lhj <403133128@qq.com> Date: Sat, 16 Nov 2024 14:43:26 +0800 Subject: [PATCH] =?UTF-8?q?add:=E6=B7=BB=E5=8A=A0=E7=AE=80=E5=8D=95LRU?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/LRU.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/utils/LRU.ts diff --git a/src/utils/LRU.ts b/src/utils/LRU.ts new file mode 100644 index 0000000..be97ab8 --- /dev/null +++ b/src/utils/LRU.ts @@ -0,0 +1,15 @@ +export function pushToStack(stack: string[], id: string): void { + if (stack.includes(id)) { + // 如果已经存在于栈中,先移除再插入到栈顶 + stack.splice(stack.indexOf(id), 1); + } + stack.push(id); +} + +export function popFromStack(stack: string[]): string | undefined { + return stack.pop(); +} + +export function topFromStack(stack: string[]): string | undefined { + return stack.at(-1); // 使用 .at() 方法访问最后一个元素 +}