我试图调用一个函数,并使其每次调用时都返回一个新字符串。如果调用了它,并且所有字符串都被调用了,那么它将循环返回到开始。
伪代码:
function getString(){
var array = ['1','2','3','4'];
// JS Magic??
return finalVal;
}
预期魔术:
getSting();
1
getSting();
2
getSting();
3
getSting();
4
getSting();
1
getSting();
2
我确定你的想法。
谢谢!
最佳答案
您可以使用范围来保留当前索引。这样的事情。
var getString = (function(arr, i) {
return function(){
return arr[(i++)%arr.length]
}
}(['1','2','3','4'], 0))
var getString = (function(arr, i) {
return function(){
return arr[(i++)%arr.length]
}
}(['1','2','3','4'], 0))
console.log(getString());
console.log(getString());
console.log(getString());
console.log(getString());
console.log(getString());
console.log(getString());
console.log(getString());
关于javascript - JS-调用函数并在每次新调用时从数组接收新值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42974073/