We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关键词:iterator 对象
在 JavaScript 中,Iterator(迭代器)对象具有以下特征:
一、定义与目的
二、主要特征
具有next()方法:
next()
value
undefined
done
true
false
const iterable = [1, 2, 3]; const iterator = iterable[Symbol.iterator](); console.log(iterator.next()); // { value: 1, done: false } console.log(iterator.next()); // { value: 2, done: false } console.log(iterator.next()); // { value: 3, done: false } console.log(iterator.next()); // { value: undefined, done: true }
与可迭代对象关联:
Symbol.iterator
单向遍历:
{ value: undefined, done: true }
可用于各种迭代场景:
for...of
...
const iterable = [1, 2, 3]; for (const value of iterable) { console.log(value); }
Iterator 对象在 JavaScript 中提供了一种灵活和统一的方式来遍历可迭代对象,通过next()方法和特定的返回值格式,实现了对可迭代对象的有序访问和迭代控制。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
关键词:iterator 对象
在 JavaScript 中,Iterator(迭代器)对象具有以下特征:
一、定义与目的
二、主要特征
具有
next()
方法:next()
方法。每次调用这个方法,它会返回一个对象,该对象包含两个属性:value
:表示当前迭代位置的元素值。如果迭代已经完成,这个值为undefined
。done
:一个布尔值,表示迭代是否已经完成。如果迭代完成,done
为true
;否则为false
。与可迭代对象关联:
Symbol.iterator
方法生成的。不同的可迭代对象可以生成不同的 Iterator 对象,但它们都遵循相同的next()
方法约定。Symbol.iterator
方法会返回一个 Iterator 对象,用于遍历数组的元素。单向遍历:
next()
方法将始终返回{ value: undefined, done: true }
。可用于各种迭代场景:
for...of
循环、扩展运算符(...
)、解构赋值等语言特性一起使用,使得对可迭代对象的遍历更加简洁和方便。for...of
循环内部会自动调用可迭代对象的Symbol.iterator
方法获取 Iterator 对象,并依次调用其next()
方法来遍历元素。Iterator 对象在 JavaScript 中提供了一种灵活和统一的方式来遍历可迭代对象,通过
next()
方法和特定的返回值格式,实现了对可迭代对象的有序访问和迭代控制。The text was updated successfully, but these errors were encountered: