Bộ lọc trong JavaScript

Phương thức Array filter() của JavaScript được sử dụng để tạo một mảng mới từ một mảng đã cho chỉ bao gồm các phần tử từ mảng đã cho thỏa mãn một điều kiện do phương thức đối số đặt.  

cú pháp.  

array.filter(callback(element, index, arr), thisValue)

Thông số. Phương pháp này chấp nhận năm tham số như đã đề cập ở trên và được mô tả bên dưới.  

  • gọi lại. Tham số này giữ chức năng được gọi cho từng phần tử của mảng
  • thành phần. Tham số giữ giá trị của các phần tử đang được xử lý hiện tại
  • mục lục. Tham số này là tùy chọn, nó giữ chỉ số của phần tử hiện tại trong mảng bắt đầu từ 0
  • mảng. Tham số này là tùy chọn, nó chứa toàn bộ mảng trên đó Array. mỗi cái được gọi là
  • giá trị này. Tham số này là tùy chọn, nó chứa ngữ cảnh được truyền vì điều này sẽ được sử dụng trong khi thực hiện chức năng gọi lại. Nếu bối cảnh được thông qua, nó sẽ được sử dụng như thế này cho mỗi lần gọi hàm gọi lại, nếu không thì undefined được sử dụng làm mặc định

Giá trị trả về. Phương thức này trả về một mảng mới chỉ bao gồm những phần tử thỏa mãn điều kiện của hàm_arg.  

ví dụ 1. Trong ví dụ này, phương thức filter() tạo một mảng mới chỉ bao gồm những phần tử thỏa mãn điều kiện được kiểm tra bởi hàm canVote()

JavaScript




[24,33,40]
9

[24,33,40]
0
[24,33,40]
1

[24,33,40]
0
[24,33,40]
3
[24,33,40]
4

[24,33,40]
0
[24,33,40]
1
[24,33,40]
2

[24,33,40]
0
[24,33,40]
4

[24,33,40]
0

[24,33,40]
0
[24,33,40]
3
[24,33,40]
8

[24,33,40]
0
[112,52,944]
0
[112,52,944]
1

[24,33,40]
0
[112,52,944]
3

[24,33,40]
0
[24,33,40]
4

[24,33,40]
0
[112,52,944]
7

[112,52,944]
8

đầu ra.   

[24,33,40]

Ví dụ 2. Trong ví dụ này, phương thức filter() tạo một mảng mới chỉ bao gồm những phần tử thỏa mãn điều kiện được kiểm tra bởi hàm isPositive().
 

Javascript




[24,33,40]
9

[24,33,40]
0
[24,33,40]
3
[24,33,40]
52

[24,33,40]
53
[24,33,40]
1
[24,33,40]
55

[24,33,40]
0
[24,33,40]
4

[24,33,40]
0

[24,33,40]
0
[112,52,944]
0
[24,33,40]
91

[24,33,40]
0
[112,52,944]
3

[112,52,944]
8

đầu ra.  

[112,52,944]

ví dụ 3. Trong ví dụ này, phương thức filter() tạo một mảng mới chỉ bao gồm những phần tử thỏa mãn điều kiện được kiểm tra bởi hàm isEven().  

Javascript




[24,33,40]
9

[24,33,40]
0
[24,33,40]
3
[24,33,40]
98

[24,33,40]
53
[24,33,40]
1
[24,33,40]
01

[24,33,40]
0
[24,33,40]
4

[24,33,40]
0

[24,33,40]
0
[112,52,944]
0
[24,33,40]
07

[24,33,40]
0
[112,52,944]
3

[112,52,944]
8

đầu ra.  

[24,33,40]
5

Chúng tôi có một danh sách đầy đủ các phương thức Mảng Javascript, để kiểm tra những phương thức đó, vui lòng xem qua bài viết tham khảo đầy đủ Mảng Javascript này

Trình duyệt được hỗ trợ. Các trình duyệt được phương thức JavaScript Array filter() hỗ trợ được liệt kê bên dưới.  

  • Google Chrome
  • Microsoft Cạnh 9. 0
  • Mozilla Firefox 1. 5
  • Cuộc đi săn
  • Ô-pê-ra

Chúng tôi có một Cheat Sheet về Javascript, nơi chúng tôi đề cập đến tất cả các chủ đề quan trọng của Javascript để kiểm tra những chủ đề đó, vui lòng xem qua Javascript Cheat Sheet-Hướng dẫn cơ bản về JavaScript

Một câu hỏi phỏng vấn phổ biến mà các nhà phát triển JavaScript thường được hỏi là giải thích sự khác biệt giữa các phương thức find() và filter()

Trong hướng dẫn hôm nay, tôi sẽ hướng dẫn bạn những phương pháp này là gì và khi nào bạn nên sử dụng chúng

Phương pháp [24,33,40]9 là gì?

Phương thức này trả về tất cả các phần tử của mảng thỏa mãn điều kiện được chỉ định trong hàm gọi lại

Hãy xem ví dụ về cách nó thực sự hoạt động

[24,33,40]
1ví dụ về bộ lọc()

Các bạn kiểm tra kết quả của ví dụ trên thì giá trị của y là mảng có 1 phần tử thỏa mãn điều kiện. Điều này là do phương thức filter() lặp lại trên tất cả các phần tử của mảng và sau đó trả về một mảng đã lọc thỏa mãn điều kiện đã chỉ định

Phương pháp [112,52,944]0 là gì?

Phương thức này trả về phần tử đầu tiên của mảng thỏa mãn điều kiện được chỉ định trong hàm gọi lại

Hãy xem ví dụ về cách nó thực sự hoạt động

[24,33,40]
2ví dụ về find()

Bây giờ, nếu bạn thấy đầu ra của ví dụ trên, giá trị của y là 1. Điều này là do phương thức find() tìm kiếm phần tử đầu tiên trong mảng thỏa mãn điều kiện đã chỉ định

Sự khác biệt chính giữa các ví dụ trên là

  1. [24,33,40]
    9 trả về một mảng chứa phần tử thỏa mãn điều kiện, nhưng
    [112,52,944]
    0 trả về chính phần tử thỏa mãn điều kiện
  2. Trong
    [24,33,40]
    9, toàn bộ mảng được lặp lại mặc dù thực tế là phần tử được tìm kiếm đã xuất hiện ngay từ đầu. Nhưng trong
    [112,52,944]
    0, ngay khi phần tử thỏa mãn điều kiện được tìm thấy, nó sẽ được trả về

Các trường hợp sử dụng cho [112,52,944]0 và [24,33,40]9

Khi bạn gặp trường hợp sử dụng trong đó dự kiến ​​sẽ trả về nhiều hơn 1 phần tử và bạn muốn thực hiện thao tác trên tất cả các phần tử, thì bạn có thể sử dụng phương thức filter(). Nhưng nếu bạn muốn chỉ một phần tử duy nhất được trả về từ mảng, thì bạn có thể sử dụng find() và tránh lặp lại thêm

Hãy xem xét các ví dụ về cả hai trường hợp sử dụng

1. bộ lọc () ví dụ về trường hợp sử dụng

Ví dụ về trường hợp sử dụng
[24,33,40]
3filter()

Trong ví dụ trên,

[24,33,40]
22 có ý nghĩa hơn vì bạn muốn lặp lại tất cả các phần tử của mảng để tìm các phần tử chia hết cho 2

2. ví dụ về trường hợp sử dụng find()

Ví dụ về trường hợp sử dụng
[24,33,40]
5find()

Trong ví dụ trên,

[24,33,40]
23 có ý nghĩa hơn vì chỉ có 1 nhân viên có
[24,33,40]
24 là
[24,33,40]
25, vì vậy,
[112,52,944]
0 giúp tránh lặp lại đối tượng thứ 3 trong mảng

Cảm ơn vì đã đọc

Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ nó với bạn bè và đồng nghiệp của bạn

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


Bộ lọc trong JavaScript
Aman Kalra

Kỹ sư giao diện người dùng


Nếu bài viết này hữu ích, hãy tweet nó

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Bộ lọc () trong JavaScript là gì?

Phương thức filter() tạo một mảng mới chứa các phần tử vượt qua bài kiểm tra do hàm cung cấp . Phương thức filter() không thực thi hàm đối với phần tử rỗng. Phương thức filter() không thay đổi mảng ban đầu.

Công dụng của filter() là gì?

Hàm FILTER cho phép bạn lọc một dải dữ liệu dựa trên tiêu chí bạn xác định .

Làm cách nào để lọc các phần tử trong JavaScript?

Người ta có thể sử dụng hàm filter() trong JavaScript để lọc mảng đối tượng dựa trên các thuộc tính. Hàm filter() sẽ trả về một mảng mới chứa tất cả các phần tử của mảng thỏa mãn điều kiện đã cho. Nếu không có phần tử nào vượt qua điều kiện, nó sẽ trả về một mảng trống.

Tìm và lọc trong JavaScript là gì?

filter() trả về một mảng chứa phần tử thỏa mãn điều kiện, nhưng find() trả về chính phần tử thỏa mãn điều kiện .