[Javascript] Create a Custom Iterator for Any Array

Using Symbol.iterator, you can create custom iterators that can be used inside of for loops and Array spreads. This lesson walks you through creating a function to create iterators from arrays that you pass into the function.

 

const abcs = ["A", "B", "C"]

const numbers = [1, 2, 3]

const createReverseIterator = array => ({
    [Symbol.iterator]() {
        let i = array.length
        return {
            next: () => ({
                value: array[--i],
                done: i < 0
            })
        }
    }
})


for (let value of createReverseIterator(numbers)) {
    console.log(value)
}

 

posted @ 2019-12-28 11:37  Zhentiw  阅读(113)  评论(0编辑  收藏  举报