Get to know MDN better
此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
values() 方法返回一个新的数组迭代器对象,该对象迭代数组中每个元素的值。
一个新的可迭代迭代器对象。
Array.prototype.values() 是 Array.prototype[Symbol.iterator]() 的默认实现。
当应用于稀疏数组时,values() 方法会将空槽作为 undefined 迭代。
values() 方法是通用的。它只需要 this 值具有 length 属性和整数键属性。
由于 values() 返回一个可迭代迭代器对象,你可以使用 for...of 循环来迭代它。
由于返回值也是一个迭代器,你可以直接调用其 next() 方法。
警告:数组迭代器对象应该是一次性使用的对象。不要重复使用它。
values() 返回的可迭代对象是不可重复使用的。当 next().done = true 或 currentIndex > length 时,for...of 循环结束,进一步迭代它没有任何效果。
如果使用 break 语句提前结束迭代,当继续迭代时,迭代器可以从当前位置恢复迭代。
values() 返回的数组迭代器对象中没有存储任何值;但是它存储了用于创建它的数组的地址,并在每次迭代中读取当前访问的索引。因此,它的迭代输出取决于在迭代时存储在该索引中的值。如果数组中的值发生了改变,数组迭代器对象的值也会改变。
values() 会访问空槽并将其视为 undefined。
values() 方法读取 this 的 length 属性,然后访问每个整数索引。
| ECMAScript® 2027 Language Specification # sec-array.prototype.values |
启用 JavaScript 以查看此浏览器兼容性表。