Movatterモバイル変換


[0]ホーム

URL:


  1. 개발자를 위한 웹 기술
  2. JavaScript
  3. JavaScript 참고서
  4. 표준 내장 객체
  5. Array
  6. values()

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

Array.prototype.values()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2018년 5월⁩.

values() 메서드는 배열에서 각 인덱스에 대한 값을 순회하는arrayiterator 객체를 반환합니다.

시도해 보기

const array1 = ["a", "b", "c"];const iterator = array1.values();for (const value of iterator) {  console.log(value);}// Expected output: "a"// Expected output: "b"// Expected output: "c"

구문

js
values()

반환 값

순회 가능한 새로운 반복자

설명

Array.prototype.values()Array.prototype[@@iterator]()의 기본 구현체입니다.

js
Array.prototype.values === Array.prototype[Symbol.iterator]; // true

values() 메소드는희소 배열에서도 유별나게 동작하지 않습니다. 빈 슬롯은 값이undefined인 것처럼 방문합니다.

예제

for...of 루프를 통한 반복

values()는 순회 가능한 반복자를 반환하므로,for...of 루프를 사용하여 순회할 수 있습니다.

js
const arr = ["a", "b", "c", "d", "e"];const iterator = arr.values();for (const letter of iterator) {  console.log(letter);} // "a" "b" "c" "d" "e"

next()를 사용한 순회

반환 값도 반복자이므로next() 메서드를 직접 호출할 수 있습니다.

js
const arr = ["a", "b", "c", "d", "e"];const iterator = arr.values();iterator.next(); // { value: "a", done: false }iterator.next(); // { value: "b", done: false }iterator.next(); // { value: "c", done: false }iterator.next(); // { value: "d", done: false }iterator.next(); // { value: "e", done: false }iterator.next(); // { value: undefined, done: true }console.log(iterator.next().value); // undefined

반복자 재사용하기

경고 :배열 반복자 객체는 일회용 객체입니다. 재사용하지 마세요.

values()에서 반환되는 반복자는 재사용할 수 없습니다.next().done = true 또는currentIndex > length,thefor...of loop ends 그리고 추가적인 순회는 아무 효과가 없습니다.

js
const arr = ["a", "b", "c", "d", "e"];const values = arr.values();for (const letter of values) {  console.log(letter);}// "a" "b" "c" "d" "e"for (const letter of values) {  console.log(letter);}// undefined

break문을 사용하여 순회를 조기에 종료하면, 나중에 순회를 다시 이어나가고자 할 때 현재 위치에서 반복자를 다시 사용할 수 있습니다.

js
const arr = ["a", "b", "c", "d", "e"];const values = arr.values();for (const letter of values) {  console.log(letter);  if (letter === "b") {    break;  }}// "a" "b"for (const letter of values) {  console.log(letter);}// "c" "d" "e"

순환 중 가변

values()에서 반환되는 배열 반복자 객체에는 저장되어 있는 값이 없습니다. 대신 생성에 사용된 배열의 주소를 저장하고 각 순회에서 현재 방문 중인 인덱스를 읽습니다. 따라서 순회 시 출력은 순회할 때의 인덱스에 담겨있는 값에 따라 달라집니다. 배열의 값이 변경되면 배열 반복자 객체의 값도 변경됩니다.

js
const arr = ["a", "b", "c", "d", "e"];const iterator = arr.values();console.log(iterator); // Array Iterator { }console.log(iterator.next().value); // "a"arr[1] = "n";console.log(iterator.next().value); // "n"

희소 배열 순회하기

values()은 빈 슬롯을 마치undefined인 것처럼 방문합니다.

js
for (const element of [, "a"].values()) {  console.log(element);}// undefined// 'a'

명세

Specification
ECMAScript® 2026 Language Specification
# sec-array.prototype.values

브라우저 호환성

같이 보기

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp