[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)
}
原文地址:https://www.cnblogs.com/Answer1215/p/12111188.html