So sánh khác nhau giữa function map và forEach trong javascript
Trong JavaScript, có hai hàm rất quan trọng để xử lý mảng là forEach() và map(). Cả hai hàm đều được sử dụng để thực hiện một hành động trên từng phần tử của mảng, nhưng có một số điểm khác biệt chính giữa chúng.
forEach()
Hàm forEach() được sử dụng để thực hiện một hành động trên từng phần tử của mảng, nhưng không trả về bất kỳ giá trị nào. Cú pháp của hàm forEach() như sau:
Hàm callback là một hàm nhận hai đối số: phần tử hiện tại của mảng và chỉ số của phần tử đó.
Ví dụ sau đây sẽ in ra từng phần tử của mảng arr:
const arr = [1, 2, 3, 4, 5];
arr.forEach(element => console.log(element));
Kết quả:
// Console.log
1
2
3
4
5
map()
Hàm map() được sử dụng để tạo một mảng mới dựa trên kết quả của việc áp dụng một hàm cho từng phần tử của mảng ban đầu. Cú pháp của hàm map() như sau:
array.map(callback)
Hàm callback là một hàm nhận hai đối số: phần tử hiện tại của mảng và chỉ số của phần tử đó. Hàm callback phải trả về một giá trị.
Ví dụ sau đây sẽ tạo một mảng mới chứa các giá trị lũy thừa của 2 của các phần tử trong mảng arr:
const arr = [1, 2, 3, 4, 5];
const newArr = arr.map(element => element * 2);
console.log(newArr);
Kết quả:
[2, 4, 6, 8, 10]
Sự khác nhau giữa forEach() và map()
Dưới đây là bảng tóm tắt sự khác nhau giữa forEach() và map():
Tính năng | forEach() | map() |
---|---|---|
Trả về giá trị | Không | Có |
Tạo mảng mới | Không | Có |
Cú pháp | array.forEach(callback); | array.map(callback); |
Ví dụ | arr.forEach(element => console.log(element)); | arr.map(element => element * 2); |
Khi nào sử dụng forEach()
Bạn nên sử dụng hàm forEach() khi bạn chỉ cần thực hiện một hành động trên từng phần tử của mảng mà không cần tạo một mảng mới. Ví dụ, bạn có thể sử dụng hàm forEach() để in ra từng phần tử của mảng, hoặc để kiểm tra xem mỗi phần tử có thỏa mãn một điều kiện nào đó hay không.
Khi nào sử dụng map()
Bạn nên sử dụng hàm map() khi bạn cần tạo một mảng mới dựa trên kết quả của việc áp dụng một hàm cho từng phần tử của mảng ban đầu. Ví dụ, bạn có thể sử dụng hàm map() để chuyển đổi các giá trị của một mảng thành một định dạng khác, hoặc để lọc các phần tử không thỏa mãn một điều kiện nào đó.
Phan Thành Công
Lập trình viên đam mê và sáng tạo, cùng với vai trò là YouTuber, Blogger, và TikToker.