--- comments: true difficulty: 简单 edit_url: https://github.com/doocs/leetcode/edit/main/solution/2600-2699/2620.Counter/README.md tags: - JavaScript --- # [2620. 计数器](https://leetcode.cn/problems/counter) [English Version](/solution/2600-2699/2620.Counter/README_EN.md) ## 题目描述

给定一个整型参数 n,请你编写并返回一个 counter 函数。这个 counter 函数最初返回 n,每次调用它时会返回前一个值加 1 的值 ( nn + 1n + 2 ,等等)。

 

示例 1:

输入:
n = 10 
["call","call","call"]
输出:[10,11,12]
解释:
counter() = 10 // 第一次调用 counter(),返回 n。
counter() = 11 // 返回上次调用的值加 1。
counter() = 12 // 返回上次调用的值加 1。

示例 2:

输入:
n = -2
["call","call","call","call","call"]
输出:[-2,-1,0,1,2]
解释:counter() 最初返回 -2。然后在每个后续调用后增加 1。

 

提示:

## 解法 ### 方法一 #### TypeScript ```ts function createCounter(n: number): () => number { let i = n; return function () { return i++; }; } /** * const counter = createCounter(10) * counter() // 10 * counter() // 11 * counter() // 12 */ ```