--- (1) --- Object [Array Iterator] {} 0 1 2 3 --- (2) --- Object [Array Iterator] {} [ [ 0, 'Banana' ], [ 1, 'Orange' ], [ 2, 'Apple' ], [ 3, 'Mango' ] ] --- (3) --- true --- (4) --- a b c --- (5) --- [ 1, 2, 3 ] --- (6) --- [ 'a', 'b', 'c' ] --- (7) --- { value: 'a', done: false } --- (8) --- a --- (9) --- Returning 1 Closing 1 --- (10) --- Returning 1 Returning 2 Returning 3 [ 1, 2, undefined ] 1 2 undefined --- (11) --- Returning 1 Closing --- (12) --- a b true --- (13) --- 1 2 3 4 5 --- (14) --- function [object String Iterator] { value: 'h', done: false } { value: 'i', done: false } { value: undefined, done: true }