อ็อบเจ็กต์อีเทอเรเตอร์ใน JavaScript

มาเริ่มสร้างอีเทอเรเตอร์กัน เพื่อให้สามารถวนลูปผ่านอ็อบเจ็กต์ได้ เริ่มต้นด้วยการสร้างเจเนอเรเตอร์ ที่รับอ็อบเจ็กต์เป็นพารามิเตอร์และวนลูปผ่านมัน:

javascriptfunction *func(obj) {
  for (let key in obj) {
    yield obj[key];
  }
}

ตอนนี้มาสร้างอีเทอเรเตอร์:

javascriptlet iter = func({a: 1, b: 2, c: 3});

วนลูปผ่านอีเทอเรเตอร์ด้วยลูป for...of:

javascriptfor (let elem of iter) {
  console.log(elem); // 1, 2, 3
}
Задание 1

สร้างอีเทอเรเตอร์ที่ วนลูปผ่านอ็อบเจ็กต์ และแต่ละครั้งที่ถูกเรียก จะคืนค่าอาร์เรย์ โดยที่องค์ประกอบที่ศูนย์ จะเป็นคีย์ และองค์ประกอบแรกจะเป็นค่า ของอ็อบเจ็กต์ ตัวอย่าง:

javascriptlet iter = func({a: 1, b: 2, c: 3});

for (let elem of iter) {
  console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}