ES2015 এর ব্যবহার যুক্ত করতে Reflect.ownKeys(obj)
এবং কোনও পুনরুক্তারের মাধ্যমে বৈশিষ্ট্যের উপরে পুনরাবৃত্তি করতে।
উদাহরণ স্বরূপ:
let obj = { a: 'Carrot', b: 'Potato', Car: { doors: 4 } };
দ্বারা পুনরাবৃত্তি করা যেতে পারে
// logs each key
Reflect.ownKeys(obj).forEach(key => console.log(key));
আপনি যদি কোনও iterator
সামগ্রীর কীগুলির মানগুলির উপরে সরাসরি পুনরাবৃত্তি করতে চান, আপনি স্ট্রিং, অ্যারে, টাইপ করা অ্যারে, মানচিত্র এবং সেটগুলির জন্য জাভাস্কিপ্টসের ডিফল্ট পুনরাবৃত্তির মতো একটিকেও সংজ্ঞায়িত করতে পারেন ।
জেএস ডিফল্ট পুনরাবৃত্ত সম্পত্তিটির মাধ্যমে পুনরাবৃত্তি করার চেষ্টা করবে, যা অবশ্যই হিসাবে সংজ্ঞায়িত করা উচিত Symbol.iterator
।
আপনি যদি সমস্ত বস্তুর উপরে পুনরাবৃত্তি করতে সক্ষম হতে চান তবে আপনি এটিকে অবজেক্টের প্রোটোটাইপ হিসাবে যুক্ত করতে পারেন:
Object.prototype[Symbol.iterator] = function*() {
for(p of Reflect.ownKeys(this)){ yield this[p]; }
}
এটি আপনাকে লুপের ... এর সাথে একটি অবজেক্টের মানগুলিতে পুনরাবৃত্তি করতে সক্ষম করবে, উদাহরণস্বরূপ:
for(val of obj) { console.log('Value is:' + val ) }
সতর্কতা : এই উত্তরটি লিখতে (জুন 2018) অন্যান্য সমস্ত ব্রাউজার, তবে আইই, এর for...of
মাধ্যমে জেনারেটর এবং পুনরুক্তি সমর্থন করেSymbol.iterator
if (typeof(obj[propt]) === 'object') {
/ * এটা আবার * / কি}