Hướng Dẫn Chi Tiết về Mảng trong JavaScript
Nắm vững mảng (Array) trong JavaScript với bảng ghi chú toàn diện này. Trong bài viết này, bạn sẽ học cách sử dụng các phương thức, cú pháp, cũng như thực tiễn tốt nhất khi làm việc với mảng trong JavaScript. Bất kể bạn là người mới bắt đầu hay một lập trình viên dày dạn kinh nghiệm, tài liệu này sẽ cung cấp cho bạn những kiến thức cần thiết để phát triển kỹ năng lập trình của mình.
Nếu bạn đang tìm kiếm khóa học JavaScript miễn phí hoặc khóa học trực tuyến để nâng cao kỹ năng, bạn đã đến đúng nơi! Hướng dẫn trong bài viết này bao gồm các phương thức quan trọng, tối ưu hóa hiệu suất, và các câu hỏi phỏng vấn phổ biến giúp bạn tự tin hơn trong việc ứng tuyển.
Mảng JavaScript: Những Điều Cơ Bản
Mảng là một cấu trúc dữ liệu quan trọng trong JavaScript, cho phép bạn lưu trữ nhiều giá trị theo thứ tự. Sự hiểu biết về mảng là rất quan trọng trong lập trình web, giúp bạn quản lý và xử lý dữ liệu hiệu quả hơn.
Khai Báo Mảng trong JavaScript
javascript
const numbers = [1, 2, 3, 4, 5];
const fruits = ['apple', 'banana', 'cherry'];
Các Phương Thức Phổ Biến của Mảng trong JavaScript
JavaScript cung cấp nhiều phương thức tích hợp sẵn để thao tác với mảng. Việc thành thạo các phương thức này sẽ giúp bạn trong lập trình thực tiễn và các khóa học lập trình JavaScript.
1. Thêm và Xóa Phần Tử
push()– Thêm phần tử vào cuối mảng.pop()– Xóa phần tử cuối cùng từ mảng.unshift()– Thêm phần tử vào đầu mảng.shift()– Xóa phần tử đầu tiên khỏi mảng.
javascript
const arr = [1, 2, 3];
arr.push(4); // [1, 2, 3, 4]
arr.pop(); // [1, 2, 3]
arr.unshift(0); // [0, 1, 2, 3]
arr.shift(); // [1, 2, 3]
2. Duyệt Qua Mảng
forEach()– Lặp qua từng phần tử trong mảng.map()– Tạo mảng mới bằng cách áp dụng hàm cho từng phần tử.filter()– Trả về mảng mới với các phần tử thỏa mãn điều kiện.reduce()– Giảm mảng thành một giá trị duy nhất.
javascript
const numbers = [1, 2, 3, 4, 5];
numbers.forEach(num => console.log(num));
const doubled = numbers.map(num => num * 2);
const evens = numbers.filter(num => num % 2 === 0);
const sum = numbers.reduce((acc, num) => acc + num, 0);
3. Tìm Kiếm và Biến Đổi
find()– Tìm phần tử đầu tiên khớp với điều kiện.some()– Kiểm tra nếu có ít nhất một phần tử thỏa mãn điều kiện.every()– Kiểm tra nếu tất cả phần tử thỏa mãn điều kiện.indexOf()– Tìm chỉ mục của phần tử trong mảng.includes()– Kiểm tra xem phần tử có tồn tại trong mảng hay không.
javascript
const nums = [10, 20, 30, 40];
console.log(nums.find(n => n > 25)); // 30
console.log(nums.includes(20)); // true
console.log(nums.indexOf(30)); // 2
4. Sắp Xếp và Đảo Ngược
sort()– Sắp xếp mảng (thay đổi mảng gốc).reverse()– Đảo ngược thứ tự mảng.toSorted()(ES2023) – Trả về bản sao đã sắp xếp mà không thay đổi mảng gốc.
javascript
const scores = [40, 10, 100, 50];
scores.sort((a, b) => a - b); // [10, 40, 50, 100]
5. Loại Bỏ Trùng Lặp
javascript
const uniqueNumbers = [...new Set([1, 2, 2, 3, 4, 4, 5])]; // [1, 2, 3, 4, 5]
Mẹo Tối Ưu Hiệu Suất JavaScript
Việc tối ưu mã JavaScript có thể cải thiện hiệu suất, đặc biệt trong ứng dụng web và phát triển server-side:
- Sử dụng
push()thay vìunshift()–push()nhanh hơn vì không cần dịch chuyển chỉ mục. - Sử dụng
Setđể loại bỏ phần tử trùng lặp – Hiệu quả hơn so với việc lọc thủ công. - Sử dụng
map()vàreduce()một cách hợp lý –map()tạo ra mảng mới, trong khiforEach()chỉnh sửa tại chỗ. - Sắp xếp với hàm so sánh –
sort()mặc định sẽ chuyển giá trị thành chuỗi, điều này có thể gây lỗi trong thứ tự.
Câu Hỏi Phỏng Vấn JavaScript về Mảng
Nếu bạn đang học lập trình JavaScript hoặc chuẩn bị tham gia phỏng vấn, hãy luyện tập các câu hỏi sau:
- Viết hàm đảo ngược mảng mà không dùng
.reverse(). - Tìm số bị thiếu trong một dãy số.
- Tự triển khai một hàm
map()giống như trực tiếp củaArray.prototype.map. - Xoay vòng mảng theo
kvị trí. - Tìm phần tử xuất hiện nhiều nhất trong mảng.
Hãy cùng bắt đầu khám phá và thực hành để nâng cao kỹ năng lập trình JavaScript của bạn ngay hôm nay!
source: viblo