Ở bài viết trước đã đề cập vài phương thức bạn nào muốn xem lại thì nhấp vào đây nha.
Map()
Cú pháp: arr.map() được áp dụng một hàm vào mỗi phần tử của mảng, từ đó tạo ra mảng mới.
Ví dụ:
Từ ví dụ trên, có thể nhìn ra map() như là một vòng for thực thụ. Với hàm .length, nó đã thực hiện tính ra độ dài của từng phần tử trong mảng.
Reverse
Cú pháp: arr.reverse() : như chính tên của mình, phương thức này dùng để đảo ngược các phần tử trong mảng. Phần tử đầu sẽ bị đảo xuống cuối và phần tử cuối sẽ được đảo lên đầu.
Reduce/ReduceRight
Cú pháp: arr.reduce(function(accumulator, item, index, array))
- accumulator: kết quả của lần gọi hàm trước, bằng với lần đầu tiên (nếu có)
- item: phần tử hiện tại của mảng
- index: vị trí hiện tại của mảng
Hàm này áp dụng lần lượt cho các phần tử trong mảng và kết quả của lần gọi hàm trước truyền cho lần tiếp theo. Nhìn hình minh họa dưới đây cho dễ hình dung.
Đối số ban đầu là 0, phần tử thứ 2 sẽ cộng với kết quả cái ban đầu, cứ tích lũy lưu trữ dần kết quả, cuối cùng tổng hợp thành 0+1+2+3 (phần tử hiện tại) = 6. vậy nên kết quả cuối cùng là 6.
Sort
Cú pháp: arr.sort(). Hàm sort ở đây sắp xếp theo kiểu so sánh, thay đổi thứ tự phần tử của mảng, sắp xếp xong trả về mảng, kết quả thường bị bỏ qua vì mảng đã thay đổi.
Ví dụ:
Ở trên đề cập số lớn sẽ được sắp trước vậy tại sao ở đây 1 vẫn nằm vị trí đầu. Sự thật là vị trí bắt đầu sort lại nằm ở 9 và 52, vậy nên khi 9 so với 52 đã bị lui về phía sau.
Split/join
Cú pháp: arr.split() tách một chuỗi thành một mảng bởi dấu định sẵn (,).
Cú pháp: arr.join() tạo một chuỗi từ mảng ban đầu và liên kết với nhau bằng kí tự mình muốn.
Tổng kết
Sau đây mình sẽ tổng kết lại phương thức Array của hai bài viết:
Thêm, xóa phần tử
- push(item): thêm vào cuối mảng
- pop(): xóa ở cuối mảng
- shift(): xóa ở đầu mảng
- unshift(item): thêm vào đầu mảng
- splice(index(deleteCount, item1,…): xóa hay chèn phần tử mảng
- slice(start, end): trích xuất phần tử mảng
- concat(item): nối hai hay nhiều mảng
- indexOf/lastIndexOf(item, index): tìm từ vị trí bắt đầu đến kết thúc
- includes(value): trả về giá trị true hay false
- find/findIndex(): tìm kiếm đối tượng, vị trí
- filter(): xử lý lọc phần tử và chấp nhận phần tử mảng
Lặp các phần tử
forEach(func)
Biến đổi mảng
- map(func): tạo mảng mới từ kết quả gọi hàm trước
- reverse(): đảo phần tử trong mảng
- reduce(): tính toán giá trị trong mảng bằng cách gọi hàm và truyền giá trị trung gian
- sort(func): sắp xếp phần tử tại chỗ trong mảng xong trả về vị trí
- split/join(): tách chuỗi hoặc nối chuỗi
Hi vọng bài viết này sẽ giúp mọi người biết thêm các đối tượng mảng, cảm ơn mọi người theo dõi đến đây.
Huyền Nguyễn
PLT SOLUTIONS