k
Size: a a a
C
C
CM
L
const range = (value, end, step = 1) => ({
[Symbol.iterator]: () => ({
next: () => ({ value, done: value > end, _: value += step})
})
})
for(let i of range(2, 10, 1))
console.log(i)
S
const range = (value, end, step = 1) => ({
[Symbol.iterator]: () => ({
next: () => ({ value, done: value > end, _: value += step})
})
})
for(let i of range(2, 10, 1))
console.log(i)
k
const range = (value, end, step = 1) => ({
[Symbol.iterator]: () => ({
next: () => ({ value, done: value > end, _: value += step})
})
})
for(let i of range(2, 10, 1))
console.log(i)
L
RK
RK
L
[function* () {}, async function* () {}]
.map(Object.getPrototypeOf)
.map(f => Object.assign(f.prototype, {
async *mapAsync(fn) {
let i = 0
for await(const v of this)
yield fn(v, i++)
},
async *filterAsync(fn) {
for await(const v of this)
if ( fn(v) )
yield v
},
async toArrayAsync() {
const a = []
for await(const v of this)
a.push(v)
return a
},
}))
function* range(start, end, step = 1) {
for(let i = start; i <= end; i += step)
yield i
}
const sleep = ms => new Promise(r => setTimeout(r, ms))
range(0, 10)
.mapAsync(async v => (await sleep(Math.random()*3e3), v))
.filterAsync(v => v & 1)
.mapAsync((v, i) => console.log({ i, v }))
.toArrayAsync()
S
[function* () {}, async function* () {}]
.map(Object.getPrototypeOf)
.map(f => Object.assign(f.prototype, {
async *mapAsync(fn) {
let i = 0
for await(const v of this)
yield fn(v, i++)
},
async *filterAsync(fn) {
for await(const v of this)
if ( fn(v) )
yield v
},
async toArrayAsync() {
const a = []
for await(const v of this)
a.push(v)
return a
},
}))
function* range(start, end, step = 1) {
for(let i = start; i <= end; i += step)
yield i
}
const sleep = ms => new Promise(r => setTimeout(r, ms))
range(0, 10)
.mapAsync(async v => (await sleep(Math.random()*3e3), v))
.filterAsync(v => v & 1)
.mapAsync((v, i) => console.log({ i, v }))
.toArrayAsync()
k
[function* () {}, async function* () {}]
.map(Object.getPrototypeOf)
.map(f => Object.assign(f.prototype, {
async *mapAsync(fn) {
let i = 0
for await(const v of this)
yield fn(v, i++)
},
async *filterAsync(fn) {
for await(const v of this)
if ( fn(v) )
yield v
},
async toArrayAsync() {
const a = []
for await(const v of this)
a.push(v)
return a
},
}))
function* range(start, end, step = 1) {
for(let i = start; i <= end; i += step)
yield i
}
const sleep = ms => new Promise(r => setTimeout(r, ms))
range(0, 10)
.mapAsync(async v => (await sleep(Math.random()*3e3), v))
.filterAsync(v => v & 1)
.mapAsync((v, i) => console.log({ i, v }))
.toArrayAsync()
В
[function* () {}, async function* () {}]
.map(Object.getPrototypeOf)
.map(f => Object.assign(f.prototype, {
async *mapAsync(fn) {
let i = 0
for await(const v of this)
yield fn(v, i++)
},
async *filterAsync(fn) {
for await(const v of this)
if ( fn(v) )
yield v
},
async toArrayAsync() {
const a = []
for await(const v of this)
a.push(v)
return a
},
}))
function* range(start, end, step = 1) {
for(let i = start; i <= end; i += step)
yield i
}
const sleep = ms => new Promise(r => setTimeout(r, ms))
range(0, 10)
.mapAsync(async v => (await sleep(Math.random()*3e3), v))
.filterAsync(v => v & 1)
.mapAsync((v, i) => console.log({ i, v }))
.toArrayAsync()
L
k