Lọc giá trị cụ thể từ mảng JavaScript
Các. Phương thức filter() trong JavaScript tạo một mảng mới với tất cả các phần tử vượt qua bài kiểm tra được triển khai bởi hàm được cung cấp Show
Mục lụcĐôi khi chúng tôi có một mảng nhưng chúng tôi chỉ muốn trả về một vài mục được chọn từ mảng. Ví dụ: chúng ta có thể sử dụng phương thức
Phương thức 0 gọi hàm gọi lại một lần cho mỗi phần tử trong một mảng và xây dựng một mảng mới cho tất cả các giá trị vượt qua bài kiểm tra được cung cấp trong hàm gọi lại nàyHàm nhận 3 đối số,
Chúng ta có thể loại trừ mảng ban đầu trong hàm gọi lại nếu chúng ta không sử dụng nó. Chúng tôi có thể muốn sử dụng nó để đẩy một cái gì đó vào mảng trước khi chúng tôi thực hiện kiểm tra những gì sẽ trả về nhưng nếu không, chúng tôi chỉ cần xóa nó
Thông thường, chúng ta đặt tên cho giá trị hiện tại là số ít của mảng, vì vậy trong trường hợp này, chúng ta nên đặt tên cho nó là người
Chúng ta cũng có thể sử dụng chức năng mũi tên để thay thế
Vì chúng tôi không sử dụng chỉ mục nên chúng tôi có thể loại bỏ điều đó. Chúng ta cũng có thể loại bỏ dấu ngoặc đơn vì chúng ta không cần chúng nếu chỉ có một đối số trong hàm mũi tên
Và vì nó chỉ là một dòng mà chúng tôi đang trả lại, chúng tôi có thể xóa trả về và dấu ngoặc nhọn và có tất cả trên một dòng giữ cho nó rất ngắn. Điều này có thể mất một chút thời gian để làm quen vì nó không dễ đọc như các ví dụ trước nhưng nhiều người sẽ sử dụng định dạng này Hãy nghĩ về nó như là, đối với mảng người lọc mọi người và trả về những người có giới tính nữ
Điều tuyệt vời về bộ lọc là nó không làm thay đổi mảng ban đầu. Vì vậy, nếu bạn 0, bạn vẫn sẽ nhận được tất cả những người từ mảng người khi bộ lọc tạo một mảng mới. Do đó, chúng tôi có thể lưu trữ bộ lọc mới của mình trong một const________số 8Dán nó vào bảng điều khiển để tự mình xem và thử với các giá trị hoặc kiểm tra codepen tôi đã tạo Làm cách nào để lọc một đối tượng theo giá trị trong JavaScript?keys() để lọc một Đối tượng. Sau khi bạn đã tạo khóa, bạn có thể sử dụng bộ lọc() để lặp qua các giá trị hiện có và chỉ trả lại những giá trị đáp ứng tiêu chí đã chỉ định . Cuối cùng, bạn có thể sử dụng reduce() để thu thập các khóa đã lọc và giá trị của chúng vào một đối tượng mới chẳng hạn.
Bạn sẽ sử dụng gì để tìm kiếm một giá trị cụ thể trong một mảng?Sử dụng bộ lọc nếu bạn muốn tìm tất cả các mục trong một mảng đáp ứng một điều kiện cụ thể. Sử dụng find nếu bạn muốn kiểm tra xem ít nhất một mục có đáp ứng một điều kiện cụ thể hay không. Sử dụng bao gồm nếu bạn muốn kiểm tra xem một mảng có chứa một giá trị cụ thể hay không. Sử dụng indexOf nếu bạn muốn tìm chỉ mục của một mục cụ thể trong một mảng. |