Skip to content

Instantly share code, notes, and snippets.

@chrisbuttery
Forked from juliocesar/for-loops.js
Last active August 29, 2015 14:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chrisbuttery/e1dece045e01852a1712 to your computer and use it in GitHub Desktop.
Save chrisbuttery/e1dece045e01852a1712 to your computer and use it in GitHub Desktop.
// ES6 for loops
// =============
// Things in ES6 can be "iterable". Arrays are iterable by default.
var fruits = ['Apple', 'Banana', 'Grape'];
for (var fruit of fruits)
console.log('Fruit: ' + fruit);
// => "Fruit: Apple"
// => "Fruit: Banana"
// => "Fruit: Grape"
// Objects apparently not iterable as anyone in the planet would expect.
// You need to declare an iterator which is a method that defines how
// each property is return.
// Y U NO USE A DEFAULT ITERATOR?!
var person = { name: 'Joe', age: 25, bio: 'Long bio here' };
var attributes = function(person) {
for (var attr in person) yield [attr, person[attr] ]
};
for (var [attribute, value] of attributes(person))
console.log(attribute + ': ' + value);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment