انتقل إلى محتوى الدرس
فقرة فرعية #4 من درس: Object Iterables

Home Made Iterable

في هذا الدرس سوف نتعرف علي iterables وهي الخاصة بأنشاء تكرارات علي ال Objects في لغة javaScript 

1 صفوف تعليمية
جافا سكريبت
2,586 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

هذه العوائد المتكررة التي لا تنتهي أبدًا: 10،20،30،40 ، .... في كل مرة يتم استدعاء دالة ( )next

HTML
/* Home Made Iterable */
function myNumbers() {
  let n = 0;
  return {
    next: function() {
      n += 10;
      return {value:n, done:false};
    }
  };
}

/* Create Iterable */
const n = myNumbers();
n.next(); /* Returns 10 */
n.next(); /* Returns 20 */
n.next(); /* Returns 30 */

iterable : هو عبارة عن object يحتوي علي الخاصية "Symbol.iterator "

Symbol.iterator : هي عبارة عن خاصية تقوم بتنفيذ دالة ( )next 

Example

HTML
/* Create an Object */
myNumbers = {};

/* Make it Iterable */
myNumbers[Symbol.iterator] = function() {
  let n = 0;
  done = false;
  return {
    next() {
      n += 10;
      if (n = 100) {done = true}
      return {value:n, done:done};
    }
  };
}

الدالة "Symbol.iterator " يتم استدعائها بشكل تلقائي بواسطة "for..of" ولكننا يمكننا انشائها بشكل يدوي كالتالي

HTML
let iterator = myNumbers[Symbol.iterator]();

while (true) {
  const result = iterator.next();
  if (result.done) break;
  // Any Code Here
}