文章标题 原创 翻译 转载 文章内容 # Stack 栈,后进先出 ``` class Stack { constructor() { this.list = [] } pop() { const t = this.top() this.list.pop() return t } push(...item) { this.list.push(...item) } top() { return this.isEmpty() ? undefined : this.list[this.size() - 1] } size() { return this.list.length } isEmpty() { return this.list.length === 0 } } ``` # Queue 队列,先进先出 ``` class Queue { constructor() { this.list = [] } dequeue() { const t = this.head() this.list.shift() return t } enqueue(...item) { this.list.push(...item) } head() { return this.isEmpty() ? undefined : this.list[0] } size() { return this.list.length } isEmpty() { return this.list.length === 0 } } ``` # String拼接 考虑下面的方法 ``` str = ''; for (/* each piece */) { str += piece; // bad for performance! } return str; ``` > 此方法将导致过多的中间字符串和连接操作,并且整体执行效果不佳 解决上面问题的方法是使用join ``` var tmp = []; for (/* each piece */) { tmp.push(piece); } str = tmp.join(''); // Specified an empty separator, thanks Jonathan return str; ``` > 此方法不会受到额外字符串对象的影响,并且通常执行得更快。 文章类别 Python Mobile Android Java Shell Life Database Bug Windows IOS Tools Boost Node.js Mac Product Tips C/C++ Golang Javascript React Qt MQ MongoDB Design Web Linux LLM ChatGPT RAG AI 提交