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() 方法访问最后一个元素 +}