计数器 Ⅱ


1.题目描述:

请你写一个函数 createCounter. 这个函数接收一个初始的整数值 init 并返回一个包含三个函数的对象。

这三个函数是:

increment() 将当前值加 1 并返回。
decrement() 将当前值减 1 并返回。
reset() 将当前值设置为 init 并返回。

示例 1:

输入:init = 5, calls = [“increment”,”reset”,”decrement”]
输出:[6,5,4]
解释:
const counter = createCounter(5);
counter.increment(); // 6
counter.reset(); // 5
counter.decrement(); // 4
示例 2:

输入:init = 0, calls = [“increment”,”increment”,”decrement”,”reset”,”reset”]
输出:[1,2,1,0,0]
解释:
const counter = createCounter(0);
counter.increment(); // 1
counter.increment(); // 2
counter.decrement(); // 1
counter.reset(); // 0
counter.reset(); // 0

2.此题比较简单,注意保存原始变量就行了,题解:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var createCounter = function (init) {
let origin = init;
function increment() {
return ++origin;
}
function decrement() {
return --origin;
}
function reset() {
origin = init;
return origin;
}
return {
increment,
reset,
decrement,
};
};

const counter = createCounter(5);
console.log(counter.increment()); // 6
console.log(counter.reset()); // 5
console.log(counter.decrement()); // 4