Tạo các mảng Javascript (phần 5)

Array.from()

Array.from là phương thức factory mảng khác giới thiệu trong ES6. Nó mong đợi một object lặp qua được hay giống
mảng như đối số đầu tiên của nó và trả về một mảng mới cái chứa các phần tử của object đó. Với một đối số lặp qua
được, Array.from(iterable) làm việc như spread operator […iterable] làm. Nó cũng là một cách thức đơn giản
để tạo một bản sao của một mảng:

let copy = Array.from(original);

Array.from() cũng là quan trọng vì nó định nghĩa một cách thức để tạo một bản sao mảng thực sự của một object
giống mảng. Các objects giống mảng là các objects không phải mảng cái có một đặc tính length số và có các giá
trị lưu giữ với các đặc tính các tên của chúng tình cờ là các số nguyên. Khi làm việc với Javascript phía máy
khách, các giá trị trả về của một vài phương thức trình duyệt web là giống mảng, và nó có thể là dễ dàng hơn
để làm việc với chúng nếu bạn đầu tiên chuyển đổi chúng thành các mảng thực sự:

let truearray = Array.from(arraylike);

Array.from() cũng chấp nhận một đối số thứ hai tùy chọn. Nếu bạn truyền một hàm như đối số thứ hai, thì khi mảng
mới đang được xây dựng, mỗi phần tử từ object nguồn sẽ được truyền tới hàm bạn chỉ ra, và giá trị trả về của
hàm sẽ được lưu giữ trong mảng thay vì giá trị gốc (Cái này rất giống phương thức array map() cái sẽ được giới
thiệu sau này trong học phần, nhưng nó là hiệu quả hơn để thực hiện chập trong khi mảng đang được xây dựng hơn
là nó sẽ xây mảng và sau đó chập nó vào mảng mới khác).

Chia sẻ