आप इटरेटर पैटर्न के कार्यान्वयन किसी तरह का आवेदन कर सकता है।
var Iterator = function (list, position) {
return {
isNext: function() {
return position + 1 < list.length;
},
isDefined: function() {
return (position < list.length && position >= 0);
},
element: function() {
return list[position];
},
position: function() {
return position;
},
moveNext: function() {
if (this.isNext()) { return Iterator(list, position + 1); }
return Iterator([], 0);
}
}
Iterator.forEach = function (action, iterator, length) {
var counter = 0;
while (counter < length && iterator.isDefined()) {
counter = counter + 1;
action(iterator.element(), iterator.position());
iterator = iterator.moveNext();
}
return iterator;
}
और फिर सूची पर जाने के लिए इस्तेमाल करते हैं और एक सूची अंतिम ओवर यात्रा के राज्य रखने के लिए एक iterator है।
var list = [1, 3, 5, 3, 6];
var iterator = Iterator(list, 0);
iterator = Iterator.forEach(function (element, index) {
console.log(element, index);
}, iterator, 3);
//1 0
//3 1
//5 2
Iterator.forEach(function (element, index) {
console.log(element, index);
}, iterator, 5);
//3 3
//6 4
क्यों नहीं आप 'टुकड़ा()' अपने सरणी curent पृष्ठ पर आइटम प्राप्त करने के लिए 'वर ऑफसेट = currentPage * itemsPerPage; arr.slice (ऑफसेट, ऑफ़सेट + आइटमपेरपेज) .forEach (someFn); ' – Thomas