var members =
[
1,
2,
3
];
var a
log(a)
每次log(a)的时候会依次显示1然后2和3
log,3次以后再从1开始
如何实现呢
var members =
[
1,
2,
3
];
var a
log(a)
每次log(a)的时候会依次显示1然后2和3
log,3次以后再从1开始
如何实现呢
可以用生成器函数
你题目的解答代码如下:
function* countAppleSales(arr) {
var i = 0;
while (true) {
yield arr[i];
i = (i+1) % arr.length;
}
}
var members = [1,2,3];
var a = countAppleSales(members);
console.log(a.next().value);
console.log(a.next().value);
console.log(a.next().value);
console.log(a.next().value);
console.log(a.next().value);
console.log(a.next().value);
console.log(a.next().value);
console.log(a.next().value);
也可以用闭包方式
function pft(arr) {
var i = 0;
return function () {
var n = arr[i];
i = (i+1) % arr.length;
return n;
};
}
var members = [1,2,3];
var a = pft(members);
console.log(a());
console.log(a());
console.log(a());
console.log(a());
console.log(a());
console.log(a());
console.log(a());
console.log(a());
如有帮助,望采纳!谢谢!