
📌 ĐỊNH NGHĨA 1 CÂU
Mảng là một danh sách các món đồ được xếp hàng ngay ngắn trong một cái tủ có đánh số thứ tự từ 0, giúp chú cháu mình dễ dàng tìm kiếm hay quản lý.
Ví von trực quan
Nó giống như cái vỉ trứng gà con mua ở chợ, mỗi quả trứng nằm gọn trong một ô, được đánh số thứ tự từ 0 đến N. Chú mà lỡ tay làm rơi quả số 5 thì biết ngay mà nhặt lên, hoặc biết đường mà đền cho bà bán trứng.
Chào cháu, hôm nay Ông Chú Vibe Coding sẽ bật mí cho cháu một khái niệm dân lập trình dùng như cơm bữa: Array (hay Mảng). Nói nôm na, nó giống cái tủ nhiều ngăn, mỗi ngăn chứa một món đồ, được xếp hàng ngay ngắn và đánh số thứ tự để dễ tìm kiếm, quản lý.
Cháu cứ hình dung, đồ đạc trong nhà lộn xộn, tìm cái remote TV có mà bới tung cả nhà. Nhưng nếu sắp xếp vào từng ngăn có thứ tự, thì 'À, remote TV ở ngăn số 3!' là ra ngay. Mảng cũng vậy đó cháu. Trong lập trình, khi cần quản lý danh sách các thứ giống nhau (tên khách hàng, điểm thi, món ăn...), Mảng chính là 'cứu tinh'. Nó giúp cháu tổ chức dữ liệu gọn gàng, dễ truy cập, thêm bớt, sửa đổi, giúp code 'vibe' và 'mượt mà'. Đặc biệt, hiểu Mảng giúp cháu 'ra lệnh' (prompt) cho AI chuẩn hơn, sinh code đúng ý, không bị 'ngáo ngơ' nữa.
Nguyên lý hoạt động của Mảng đơn giản như việc chú cháu mình đi xếp hàng mua bánh mì vậy đó. Mỗi người là một 'phần tử'. Mà đặc biệt, cái 'số thứ tự' này không bắt đầu từ 1 đâu nha cháu, mà từ 0. Người đầu tiên là 0, người thứ hai là 1, cứ thế tăng dần. Cái số thứ tự này mình gọi là chỉ mục (index). Nhờ nó mà mình 'chỉ mặt đặt tên' cho từng phần tử chính xác. Ví dụ, Mảng trái cây: ["Táo", "Cam", "Xoài", "Ổi"]. Muốn lấy Cam, cháu gọi mang_trai_cay[1] là ra ngay. Đơn giản như ăn kẹo.
Giờ chú cháu mình thử 'thực chiến' nha. Cháu làm app quản lý quán trà đá của chú đi. Chú muốn lưu danh sách đồ uống:
do_uong_cua_quan = ["Trà đá", "Nhân trần", "Vối", "Me đá", "Sữa đậu nành"]Muốn biết loại đồ uống thứ 3 (nhớ từ 0 nha cháu), cháu gọi do_uong_cua_quan[2] là nó trả về "Vối" ngay. Nhanh gọn lẹ. Trong công việc, Mảng dùng để lưu danh sách cấu hình hệ thống, API endpoint, quyền truy cập người dùng... Chỗ nào cần 'xếp hàng' các thứ lại với nhau thì y như rằng có mặt Mảng.
Mặc dù Mảng rất 'vibe' và tiện lợi, nhưng cháu cũng phải cẩn thận mấy cái 'bẫy' của nó nha.