জাভাস্ক্রিপ্ট ১.7 থেকে একটি আইট্রেটার অবজেক্ট রয়েছে যা এটির অনুমতি দেয়:
var a={a:1,b:2,c:3};
var it=Iterator(a);
function iterate(){
try {
console.log(it.next());
setTimeout(iterate,1000);
}catch (err if err instanceof StopIteration) {
console.log("End of record.\n");
} catch (err) {
console.log("Unknown error: " + err.description + "\n");
}
}
iterate();
নোড.জেএসএস এ কি এমন কিছু আছে?
এখনই আমি ব্যবহার করছি:
function Iterator(o){
/*var k=[];
for(var i in o){
k.push(i);
}*/
var k=Object.keys(o);
return {
next:function(){
return k.shift();
}
};
}
তবে এটি সমস্ত অবজেক্ট কীগুলিকে স্টোর করে প্রচুর ওভারহেড উত্পাদন করে k
।
createNodeIterator
হয় এটি ডোম উপাদানগুলির জন্য, আমার কাছে একটি ডিওএমও নেই;) @ c69: আমি সমস্ত ডেটা keys
অবজেক্টের মধ্যে সংরক্ষণ করি এবং এটি value
কেবলমাত্র 1
(700k কীতে প্রায় 20MB) সেট করা আছে , প্রকৃতপক্ষে এখন আমি কেবল এই 'ওভারহেড' উপেক্ষা করছি, তবে আমি আরও ভাল সমাধান পছন্দ