Iterator.prototype.toArray()

Baseline 2025
Newly available

Since March 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Phương thức toArray() của các thực thể Iterator tạo một thực thể Array mới chứa các phần tử được yield từ iterator.

Cú pháp

js
toArray()

Tham số

Không có.

Giá trị trả về

Một thực thể Array mới chứa các phần tử từ iterator theo thứ tự chúng được tạo ra.

Ví dụ

Sử dụng toArray()

iterator.toArray() tương đương với Array.from(iterator)[...iterator], ngoại trừ việc nó dễ xâu chuỗi hơn khi liên quan đến nhiều phương thức iterator helper. Ví dụ sau tạo một iterator yield các số hạng trong dãy Fibonacci, lấy 10 số hạng đầu tiên, lọc ra các số lẻ và chuyển đổi kết quả thành mảng:

js
function* fibonacci() {
  let current = 1;
  let next = 1;
  while (true) {
    yield current;
    [current, next] = [next, current + next];
  }
}

const array = fibonacci()
  .take(10)
  .filter((x) => x % 2 === 0)
  .toArray();

console.log(array); // [2, 8, 34]

Lưu ý rằng nên gọi toArray() là bước cuối cùng trong quá trình xử lý. Ví dụ, fibonacci().take(10).toArray().filter(...) kém hiệu quả hơn, vì các iterator helper là lười biếng và tránh tạo mảng tạm thời.

Đặc điểm kỹ thuật

Specification
ECMAScript® 2027 Language Specification
# sec-iterator.prototype.toarray

Tương thích trình duyệt

Xem thêm