So sánh sự khác nhau của forEach() và map() trong Javascript?
forEach() và map() là hai phương thức phổ biến trong JavaScript được sử dụng để lặp qua các phần tử của mảng. Dưới đây là một số điểm khác nhau giữa chúng:
1. Mục đích sử dụng
forEach():
Dùng để thực hiện một hành động (callback function) trên mỗi phần tử của mảng.
Không trả về giá trị nào (undefined). Chỉ thực hiện một thao tác mà không tạo ra một mảng mới.
map():
Dùng để biến đổi mỗi phần tử của mảng thành một phần tử mới bằng cách áp dụng một hàm vào từng phần tử.
Trả về một mảng mới chứa các giá trị đã được biến đổi.
2. Giá trị trả về
forEach():
Không trả về giá trị nào, chỉ thực hiện một hành động và trả về undefined.
const numbers = [1, 2, 3];
numbers.forEach(num => {
console.log(num * 2); // In ra 2, 4, 6
});
const result1 = numbers.forEach(num => num * 2);
console.log(result1); // undefined
map():
Trả về một mảng mới chứa các giá trị đã được biến đổi.
Thích hợp khi bạn chỉ cần thực hiện một tác vụ trên mỗi phần tử mà không cần tạo ra một mảng mới.
map():
Thích hợp khi bạn cần tạo một mảng mới từ một mảng hiện có.
Tóm tắt
Tiêu chí
forEach()
map()
Mục đích
Thực hiện hành động trên mỗi phần tử
Biến đổi và tạo mảng mới
Giá trị trả về
undefined
Mảng mới
Thay đổi mảng gốc
Có thể thay đổi
Không thay đổi
Hiệu suất
Thích hợp cho các tác vụ
Thích hợp cho biến đổi dữ liệu
Như vậy, bạn nên chọn forEach() khi bạn muốn thực hiện một hành động mà không cần lưu kết quả, và chọn map() khi bạn muốn biến đổi dữ liệu và cần một mảng mới chứa kết quả.
This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.