MST

星途 面试题库

面试题:JavaScript 中可迭代对象的基本应用

请简述 JavaScript 中可迭代对象的定义,并举例说明如何使用 `for...of` 循环遍历一个自定义的可迭代对象。
28.5万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试

可迭代对象定义

在 JavaScript 中,可迭代对象是一种实现了可迭代协议的数据结构。对象需要实现一个 Symbol.iterator 方法,该方法返回一个迭代器对象。迭代器对象有一个 next() 方法,每次调用 next() 方法返回一个包含 valuedone 属性的对象,value 是迭代的当前值,done 是一个布尔值,表示迭代是否结束。

使用 for...of 循环遍历自定义可迭代对象示例

// 自定义一个可迭代对象
const myIterable = {
    data: [1, 2, 3],
    [Symbol.iterator]() {
        let index = 0;
        return {
            next: () => {
                if (index < this.data.length) {
                    return { value: this.data[index++], done: false };
                } else {
                    return { done: true };
                }
            }
        };
    }
};

// 使用 for...of 循环遍历
for (const value of myIterable) {
    console.log(value);
}

上述代码中,首先定义了一个 myIterable 对象,实现了 Symbol.iterator 方法,返回一个迭代器。然后通过 for...of 循环遍历 myIterable,输出其中的每一个值。