JavaScript | VN-Zoom | Cộng đồng Chia Sẻ Kiến Thức Công Nghệ và Phần Mềm Máy Tính

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We don't have any banner, Flash, animation, obnoxious sound, or popup ad. We do not implement these annoying types of ads!

We need money to operate the site, and almost all of it comes from our online advertising.

Please add https://vn-z.vn to your ad blocking whitelist or disable your adblocking software.

×

JavaScript

Mình đang học JavaScript và mới biết có thể dùng map với filter để thay cho vòng lặp for khi làm việc với mảng. Nghe nói cách này sẽ giúp code ngắn gọn và dễ hiểu hơn, mọi người thấy có đúng không? Ai có kinh nghiệm rồi thì chỉ mình với!
 

Jailbird6824

Búa Gỗ Đôi
Mình đang học JavaScript và mới biết có thể dùng map với filter để thay cho vòng lặp for khi làm việc với mảng. Nghe nói cách này sẽ giúp code ngắn gọn và dễ hiểu hơn, mọi người thấy có đúng không? Ai có kinh nghiệm rồi thì chỉ mình với!
mấy cái cơ bản này tập hỏi AI đi bạn

ChatGPT 4o

Đúng rồi, việc sử dụng mapfilter trong JavaScript
thay thế cho vòng lặp for thực sự giúp code của bạn ngắn gọn hơn và dễ đọc hơn trong nhiều trường hợp. Đây là lý do tại sao nhiều người khuyên nên sử dụng chúng:

  • Ngắn gọn và trực quan: mapfilter cho phép bạn thực hiện các phép biến đổi trên mảng chỉ trong một dòng code, thay vì phải viết ra một vòng lặp dài dòng. Điều này giúp code dễ hiểu hơn, đặc biệt là khi xử lý dữ liệu.
  • Không cần khai báo biến tạm: Khi sử dụng for, bạn thường phải tạo biến tạm để lưu trữ giá trị tạm thời. Với mapfilter, điều này không còn cần thiết, vì kết quả được trả về trực tiếp từ các phương thức này.
  • Dễ bảo trì: Khi code ngắn gọn và dễ đọc hơn, việc bảo trì cũng dễ dàng hơn. Người đọc (kể cả bạn trong tương lai) có thể nhanh chóng hiểu được logic mà không cần phải xem xét kỹ từng dòng vòng lặp.
  • Không thay đổi mảng ban đầu: Cả mapfilter đều không thay đổi mảng ban đầu, mà thay vào đó trả về một mảng mới. Điều này giúp tránh các lỗi do việc vô tình thay đổi dữ liệu.

Dưới đây là ví dụ về cách sử dụng mapfilter:

Sử dụng vòng lặp for:
JavaScript:
const numbers = [1, 2, 3, 4, 5];
const doubled = [];
for (let i = 0; i < numbers.length; i++) {
    if (numbers[i] > 2) {
        doubled.push(numbers[i] * 2);
    }
}
console.log(doubled); // [6, 8, 10]

Sử dụng mapfilter:
JavaScript:
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.filter(num => num > 2).map(num => num * 2);
console.log(doubled); // [6, 8, 10]

Như bạn thấy, code sử dụng mapfilter ngắn gọn hơn rất nhiều so với sử dụng for. Tuy nhiên, hãy nhớ rằng trong một số trường hợp, vòng lặp for có thể nhanh hơn một chút về hiệu suất. Nhưng đối với đa số trường hợp, sự khác biệt này không đáng kể và việc ưu tiên code dễ đọc vẫn là lựa chọn tốt hơn.

Hy vọng giúp được bạn!
 

dunghoan

Gà con
Mình đang học JavaScript và mới biết có thể dùng map với filter để thay cho vòng lặp for khi làm việc với mảng. Nghe nói cách này sẽ giúp code ngắn gọn và dễ hiểu hơn, mọi người thấy có đúng không? Ai có kinh nghiệm rồi thì chỉ mình với!
Mình cũng đang học JavaScript đây. Mình đã thử dùng map và filter rồi, thấy tiện lắm, không phải viết nhiều code như vòng lặp for. Nó giúp code ngắn hơn và đọc dễ hơn. Bạn cứ thử dùng, ban đầu có thể hơi bỡ ngỡ, nhưng quen rồi sẽ thấy thích.
 


Top