Phương thức Map
Thuộc phần Logic và luồng chương trình trong hành trình JavaScript của Coddy. Bài học 52 trên 65.
Phương thức (method) map() tạo một mảng (array) mới chứa kết quả gọi một hàm (function) được cung cấp trên từng phần tử của mảng gọi phương thức đó. Phương thức này biến đổi từng phần tử và trả về một mảng mới có cùng độ dài.
Cú pháp cơ bản:
let newArray = arr.map(function(currentValue, index, array) {
// trả về phần tử cho newArray
});Đây là một ví dụ đơn giản:
const numbers = [1, 2, 3, 4];
const doubled = numbers.map((num) => {
return num * 2;
});
console.log(doubled); // [2, 4, 6, 8]Đây là ví dụ tương tự với cú pháp ngắn gọn hơn:
const numbers = [1, 2, 3, 4];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8]Phương thức map() không thay đổi mảng ban đầu. Phương thức này luôn trả về một mảng mới.
Thử thách
DễTạo một hàm có tên formatNames, nhận một mảng tên (chuỗi) làm đối số. Hàm này nên dùng phương thức map() để chuyển đổi từng tên sang kiểu viết hoa chữ cái đầu của mỗi từ, các chữ cái còn lại viết thường. Trả về mảng tên mới đã được định dạng.
Tự làm thử
function formatNames(names) {
return names.map(name => {
// Viết code của bạn ở đây
})
}
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Logic và luồng chương trình
4JSON phần 2
Duyệt qua JSONJSON lồng nhauOptional chaining trong JSONSao chép nông và sâuÔn tập: Cửa hàng xe đạpÔn tập: Hệ Mặt Trời7Hệ thống quản lý thư viện
Tổng quan dự ánThêm sách10Quản lý hệ thống lễ hội
Tổng quan dự ánThêm phim và địa điểm2Mảng nhiều chiều
Kiến thức cơ bản về mảng 2 chiềuTruy cập phần tử trong mảng 2 chiềuVòng lặp lồng nhau với mảng 2 chiềuÔn tập về mảng 2 chiềuPhép cộng và phép trừ ma trậnMảng không đềuMảng 3 chiều và hơn nữaCác mẫu thường gặp với mảng 2 chiềuÔn tập về mảng3JSON phần 1
JSON là gì?Kiểm tra khóa có tồn tạiPhương thức của đối tượngToán tử spread phần 1Toán tử spread phần 2Xóa khóaÔn tập: thao tác với khóa trong JSONTự luyện tập: Trình biên dịch JavaScript online