Menu
CoddyTech

ForEach và Map có giống nhau không?

Thuộc phần Logic và luồng chương trình trong hành trình JavaScript của Coddy. Bài học 56 trên 65.

Mặc dù forEach() và map() đều là phương thức của mảng dùng để lặp qua các phần tử, chúng phục vụ những mục đích khác nhau và có cách hoạt động riêng:

forEach():

  • Thực thi hàm (function) được cung cấp một lần cho mỗi phần tử của mảng (array).
  • Không tạo mảng mới.
  • Trả về undefined.
  • Không thể kết hợp với các phương thức mảng khác.

map():

  • Tạo một mảng mới chứa kết quả gọi một hàm được cung cấp cho từng phần tử trong mảng.
  • Trả về một mảng mới có độ dài bằng mảng ban đầu.
  • Có thể kết hợp với các phương thức mảng khác.

Ví dụ:

const numbers = [1, 2, 3, 4];

// forEach
numbers.forEach(num => console.log(num * 2));
// In ra: 2, 4, 6, 8
// Trả về: undefined
// map
const doubled = numbers.map(num => num * 2);
console.log(doubled);
// Đầu ra: [2, 4, 6, 8]
// Trả về: Một mảng mới [2, 4, 6, 8]

Dùng forEach() khi bạn muốn thực hiện một thao tác trên từng phần tử mà không tạo mảng mới. Dùng map() khi bạn muốn biến đổi từng phần tử và tạo mảng mới chứa các kết quả.

Tự làm thử

Bài học này không có thử thách code.

quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch JavaScript online