function CreateArrayIterator(array, kind) {
  var object = TO_OBJECT(array);
  var iterator = new ArrayIterator;
  SET_PRIVATE(iterator, arrayIteratorObjectSymbol, object);
  SET_PRIVATE(iterator, arrayIteratorNextIndexSymbol, 0);
  SET_PRIVATE(iterator, arrayIterationKindSymbol, kind);
  return iterator;
}
function CreateArrayIterator(array, kind) {
  var object = TO_OBJECT(array);
  var iterator = new ArrayIterator;
  SET_PRIVATE(iterator, arrayIteratorObjectSymbol, object);
  SET_PRIVATE(iterator, arrayIteratorNextIndexSymbol, 0);
  SET_PRIVATE(iterator, arrayIterationKindSymbol, kind);
  return iterator;
}
function CreateArrayIterator ( array , kind ) { var object = TO_OBJECT ( array ) ; var iterator = new ArrayIterator ; SET_PRIVATE ( iterator , arrayIteratorObjectSymbol , object ) ; SET_PRIVATE ( iterator , arrayIteratorNextIndexSymbol , 0 ) ; SET_PRIVATE ( iterator , arrayIterationKindSymbol , kind ) ; return iterator ; }
TODO(wingo): Update section numbers when ES6 has stabilized.  The section numbers below are already out of date as of the May 2014 draft. 15.4.5.1 CreateArrayIterator Abstract Operation
TODO ( wingo ) : Update section numbers when ES6 has stabilized . The section numbers below are already out of date as of the May 2014 draft . 15 . 4 . 5 . 1 CreateArrayIterator Abstract Operation