Mô tả sự khác biệt chính giữa .forEach() và .map() và tại sao bạn chọn cái này so với cái kia?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
380 lượt xem
Javascript senior

Để hiểu sự khác biệt giữa hai hàm, chúng ta hãy xem mỗi hàm làm gì.

forEach

  • Lặp qua các phần tử trong một mảng.
  • Thực hiện một lệnh gọi lại cho mỗi phần tử.
  • Không trả về giá trị.
const a = [1, 2, 3];
const doubled = a.forEach((num, index) => {
   // Do something with num and/or index.
});
// doubled = undefined

map

  • Lặp qua các phần tử trong một mảng.
  • Ánh xạ mỗi phần tử thành một phần tử mới bằng cách gọi hàm trên mỗi phần tử, kết quả là tạo ra một mảng mới.
const a = [1, 2, 3];
const doubled = a.map(num => {
   return num * 2;
});
// doubled = [2, 4, 6]

Sự khác biệt chính giữa forEachmapmap trả về một mảng mới. Nếu bạn cần kết quả, nhưng không muốn thay đổi mảng ban đầu, map là lựa chọn rõ ràng. Nếu bạn chỉ cần lặp lại một mảng, forEach là một lựa chọn tốt.

{{login.error}}