🚀 Phương Thức Không Thay Đổi Mảng Trong JavaScript
Khi làm việc với mảng trong JavaScript, việc hiểu sự khác biệt giữa phương thức thay đổi và phương thức không thay đổi là rất quan trọng. Trong bài viết này, chúng ta sẽ khám phá những phương thức không thay đổi mà mọi lập trình viên nên biết.
📌 Mảng Ví Dụ
javascript
const numbers = [3, 7, 10, 15, 20, 25];
1. map() → Chuyển đổi các phần tử thành một mảng mới
Phương thức map() cho phép bạn tạo ra một mảng mới bằng cách áp dụng một hàm cho từng phần tử của mảng gốc.
javascript
const doubledNum = numbers.map((num) => num * 2);
console.log(doubledNum); // [6, 14, 20, 30, 40, 50]
Thực tiễn tốt nhất:
- Sử dụng
map()khi bạn cần tạo ra một mảng mới từ mảng cũ mà không làm thay đổi mảng cũ.
2. filter() → Giữ lại các phần tử phù hợp với điều kiện
Phương thức filter() cho phép bạn lọc các phần tử của mảng dựa trên một điều kiện nhất định.
javascript
const greaterNum = numbers.filter((num) => num >= 10);
console.log(greaterNum); // [10, 15, 20, 25]
Lưu ý:
filter()sẽ trả về một mảng mới, và nếu không có phần tử nào thỏa mãn điều kiện, nó sẽ trả về mảng rỗng.
3. reduce() → Giảm mảng thành một giá trị duy nhất
Phương thức reduce() cho phép bạn tính toán một giá trị duy nhất từ một mảng.
javascript
const total = numbers.reduce((acc, cur) => acc + cur, 100);
console.log(total); // 180
Mẹo hiệu suất:
- Sử dụng
reduce()khi bạn cần tổng hợp dữ liệu từ mảng.
4. find() → Tìm phần tử đầu tiên phù hợp
Phương thức find() sẽ trả về phần tử đầu tiên trong mảng thỏa mãn một điều kiện.
javascript
const arrFind = numbers.find((num) => num % 5 === 0);
console.log(arrFind); // 10
Cảnh báo:
- Nếu không tìm thấy phần tử nào,
find()sẽ trả vềundefined.
5. some() → Kiểm tra nếu có ít nhất một phần tử phù hợp
Phương thức some() sẽ trả về true nếu có ít nhất một phần tử trong mảng thỏa mãn điều kiện.
javascript
const arrayCheck = numbers.some((ele) => ele === 30);
console.log(arrayCheck); // false
6. every() → Kiểm tra nếu tất cả các phần tử đều phù hợp
Phương thức every() sẽ kiểm tra xem tất cả các phần tử trong mảng có thỏa mãn điều kiện hay không.
javascript
const positiveNum = numbers.every((num) => num >= 0);
console.log(positiveNum); // true
7. includes() → Kiểm tra xem mảng có chứa một giá trị không
Phương thức includes() sẽ kiểm tra xem một giá trị nhất định có nằm trong mảng hay không.
javascript
const includesArr = numbers.includes(50);
console.log(includesArr); // false
8. indexOf() → Tìm chỉ số của một phần tử
Phương thức indexOf() sẽ trả về chỉ số của phần tử đầu tiên trong mảng. Nếu không tìm thấy, nó sẽ trả về -1.
javascript
const indexofArr = numbers.indexOf(15);
console.log(indexofArr); // 3
9. flat() → Làm phẳng các mảng lồng nhau
Phương thức flat() cho phép bạn làm phẳng các mảng lồng nhau thành một mảng đơn.
javascript
const flatArr = [1, 2, 3, [50]];
console.log(flatArr.flat()); // [1, 2, 3, 50]
10. flatMap() → Kết hợp map và flat trong một bước
Phương thức flatMap() kết hợp giữa map() và flat() để tạo ra một mảng mới và làm phẳng nó.
javascript
const arrFlatMap = numbers.flatMap((num) => [num * 2]);
console.log(arrFlatMap); // [6, 14, 20, 30, 40, 50]
🎯 Kết Luận
- Những phương thức này không làm thay đổi mảng gốc.
- Chúng rất hữu ích cho lập trình hàm và mã nguồn sạch.
- Khi bạn thành thạo, việc viết logic JavaScript sẽ trở nên dễ dàng và dự đoán hơn.
🔥 Hãy lưu lại danh sách này cho phiên lập trình tiếp theo của bạn!