Published
Edited
Jun 7, 2019
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
iterables = {
const getIterator = (length) => {
let state = 0

return {
next: () => state <= length ? { done: false, value: state++ } : { done: true }
}
}
const getGenerator = function* (length) {
let state = 0
while (state <= length) {
yield state++
}
}
const getIterable = (length) => ({
state: 0,
[Symbol.iterator]: function* () {
while (this.state <= length) {
yield this.state++
}
}
})
return {
getIterator,
getGenerator,
getArray: (length) => (new Array(length)).fill(1).map((value, index) => value + index),
getIterable
}
}
Insert cell
Insert cell
{
for (const value of iterableObject) {
yield html` > Object's keys current value: ${value}`
}
}
Insert cell
iterableObject = {
let obj = {
[Symbol.iterator]: function* () {
const keys = Object.keys(this).reverse()
for (const key of keys) {
yield this[key]
}
}
}
for(let i = 0; i < 100; i++) {
obj[`test${i+1}`] = `Entry ${i+1}`
}
return obj
}
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more