Giap Hiep

I'm Giap Hiep

I'm a web developer, a gymer. I enjoy share something i know that help people's work!
Giap Hiep

Các hàm duyệt mảng hay trong javascript mà bạn nên biết

Mở đầu

Hiện nay, hầu hết khi code chúng ta đều phải xử lý các mảng dữ liệu. Và sử dụng vòng for để duyệt là cách vô cùng dễ dàng và phổ biến. Tuy nhiên, sử dụng vòng for cũng đem lại nhiều nhược điểm, ví dụ như mỗi lần duyệt, vòng for sẽ khai báo lại giá trị đếm mà ta sử dụng. Hôm nay, chúng ta sẽ cùng tìm hiểu các hàm được sử dụng trong javascript để làm việc với mảng một cách ngắn gọn và chuyên nghiệp hơn.

Spread

Spread chia một mảng thành các phần tử, để sử dụng chúng ta chỉ cần thêm ... vào trước hàm được khai báo

Ví dụ: Ta có một mảng và muốn in tất cả các phần tử của mảng đó

let example = ["dog", "cat", "fish", "chicken"]

console.log(...example)

//output: dog cat fish chicken

Ưu điểm của spread:

  • Cú pháp sử dụng ngắn, dễ dàng
  • Tiện lợi trong việc show toàn bộ phần tử của mảng

Includes()

Includes được sử dụng để kiểm tra xem một phần tử đã biết liệu đã tồn tại trong mảng hay chưa, nếu mảng có chứa phần tử đó, includes sẽ trả về true và ngược lại.

Ví dụ: Ta có một mảng ["dog", "cat", "fish", "chicken"] và muốn kiểm tra xem phần tử "dog" có nằm trong mảng đó hay không

let example = ["dog", "cat", "fish", "chicken"]

console.log(example.includes("dog"))

//output: true

Ưu điểm của includes:

  • Dễ dàng sử dụng để kiểm tra phần tử có trong trong mảng hay không
  • Dễ dàng đọc hiểu

Every()

Every sẽ duyệt qua từng phần tử trong mảng và trả về true nếu các phần tử đều thỏa mãn điều kiện cho trước và ngược lại

Ví dụ: Ta có một mảng [20, 21, 22, 23] và muốn kiểm tra xem tất cả các phần tử đều lớn hơn 1 hay không

let example = [20, 21, 22, 23]

example.every((value) => value > 1)

//output: true

Ưu điểm của every:

  • Đảm bảo mọi phần tử đều thỏa mãn điều kiện
  • Dễ dàng viết các câu điều kiện bằng hàm

Some()

Some sẽ duyệt qua từng phần tử trong mảng và trả về true nếu có ít nhất 1 phần tử đều thỏa mãn điều kiện cho trước và ngược lại

Ví dụ: Ta có một mảng [20, 21, 22, 23] và muốn kiểm tra xem có tồn tại ít nhất 1 phần tử lớn hơn 22 hay không

let example = [20, 21, 22, 23]

example.some((value) => value > 22)

//output: true

Ưu điểm của some:

  • Đảm bảo có ít nhất 1 phần tử thỏa mãn điều kiện
  • Dễ dàng viết các câu điều kiện bằng hàm

Filter()

Filter trả về một mảng mới với các phần tử là các phần tử thỏa mãn điều kiện cho trước

Ví dụ: Ta có một mảng [20, 21, 22, 23] và muốn lấy ra một mảng chứa các phần tử là số chẵn trong mảng trên

let example = [20, 21, 22, 23]

example.filter((value) => value % 2 ===0)

//output: [20, 22]

Ưu điểm của filter:

  • Dễ dàng lọc phần tử của mảng
  • Cú pháp dễ dàng, ngắn gọn

Map()

Map thao tác với từng phần tử trong mảng và xuất ra mảng mới

Ví dụ: Ta có một mảng [20, 21, 22, 23] và muốn lấy ra một mảng chứa các phần tử là các giá trị trong mảng trên + 100

let example = [20, 21, 22, 23]

example.map((value) => {
    return value + 100;
})

//output: [120, 121, 122, 123]

Ưu điểm của map:

  • Dễ dàng thao tác với từng phần tử mình muốn trong mảng mà không làm thay đổi giá trị của mảng
  • Cú pháp dễ dàng, ngắn gọn

Reduce()

Reduce sẽ biến đổi một mảng thành một giá trị đơn giản bằng cách duyệt qua từng phần tử từ trái sang phải

Ví dụ: Ta có một mảng [20, 21, 22, 23] và muốn tính tổng của tất cả các phần tử trong mảng

let example = [20, 21, 22, 23]

example.reduce((prev, next) => prev + next)

//output: 86

Ưu điểm của reduce:

  • Thực hiện tính toán dễ dàng
  • Code ngắn gọn, dễ hiểu

Lời kết

Qua bài viết này, mình đã giới thiệu đến các bạn một số hàm hay trong javascript được sử dụng để thao tác với dữ liệu của mảng. Mong bài viêt sẽ giúp các bạn code nhanh và hiệu quả hơn với javascript.