Làm cách nào để triển khai bộ lọc () cho các đối tượng trong JavaScript?
JavaScript cung cấp một cách dễ dàng để lọc mảng. Bằng cách sử dụng phương thức mảng filter() bạn có thể dễ dàng tạo một mảng mới chỉ chứa các phần tử từ mảng ban đầu tương ứng với tiêu chí lọc của bạn. Trong hướng dẫn ngắn này, bạn sẽ học cách sử dụng…Nghe có vẻ lạ, nhưng đôi khi bạn cần lọc một đối tượng theo một số giá trị có trong một mảng trong các đạo cụ của nó. Kiểm tra một cách dễ dàng để giải quyết điều này Show
Giả sử bạn sở hữu một trang web “Tạp chí và Báo chí” bán đăng ký. Và bạn đang thiết kế một trang đăng ký tăng cấp, trong đó bạn sẽ hiển thị tất cả các gói không miễn phí mà công ty của bạn cung cấp Nó sẽ dễ dàng như gọi điểm cuối của bạn với thông tin đăng ký và vẽ nó ra bằng hàm 9 và một số 0. Nhưng… điều gì sẽ xảy ra nếu phản hồi trả về thêm thông tin mà bạn thực sự không muốn?Đã đến lúc dọn dẹp. Quá trình lọc thường diễn ra khá đơn giản với các hàm 1 của JavaScript ES6. Nhưng điều này chỉ hoạt động với mảngTrong trường hợp của chúng tôi, API của chúng tôi đang trả về một đối tượng với các sản phẩm khác nhau mà chúng tôi cung cấp. Mỗi sản phẩm sở hữu một loạt các thuộc tính mô tả các tùy chọn đăng ký hoặc vé khác nhau có sẵn. Như thế này { Chúng ta cần loại bỏ các đăng ký "free-pass" đó trong các mảng của props của từng đối tượng. Nghe có vẻ như rất nhiều lồng, và nó là. Nhưng hãy tạo một hàm trả về một đối tượng đã được lọc mà chúng ta có thể hiển thị trên trang web của mình Hãy phá vỡ điều này
Vì vậy, với chức năng này được thiết lập và chạy, bạn chỉ cần xử lý phản hồi đối tượng, JSON hoặc API của mình trước khi sử dụng hoặc lưu trữ nó trong cửa hàng Redux của bạn Hãy hét thật to và cảm ơn Miguel A Gutiérrez, bộ não lớn đằng sau giải pháp dễ dàng nhưng khó khăn này Phương thức 2 tạo một bản sao nông của một phần của một mảng nhất định, được lọc xuống chỉ các phần tử từ mảng đã cho vượt qua bài kiểm tra được thực hiện bởi hàm được cung cấpThử nócú pháp
Thông số 3Một hàm để thực thi cho từng phần tử trong mảng. Nó sẽ trả về một giá trị trung thực để giữ phần tử trong mảng kết quả và giá trị sai nếu không Hàm được gọi với các đối số sau 0Phần tử hiện tại đang được xử lý trong mảng 1Chỉ số của phần tử hiện tại đang được xử lý trong mảng 2Mảng 2 đã được gọi 4 Tùy chọnMột giá trị được sử dụng như 5 khi thực thi 3. Xem các phương pháp lặpGiá trị trả vềMột bản sao nông của một phần của mảng đã cho, được lọc xuống chỉ các phần tử từ mảng đã cho vượt qua bài kiểm tra được thực hiện bởi hàm được cung cấp. Nếu không có phần tử nào vượt qua bài kiểm tra, một mảng trống sẽ được trả về Sự miêu tảPhương pháp 2 là một phương pháp lặp. Nó gọi một hàm 3 được cung cấp 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 gồm tất cả các giá trị mà đối với đó 3 trả về một giá trị trung thực. Các phần tử mảng không vượt qua bài kiểm tra 3 sẽ không được đưa vào mảng mới 3 chỉ được gọi cho các chỉ mục mảng có giá trị được gán. Nó không được gọi cho các vị trí trống trong các mảng thưa thớtPhương pháp 2 là một phương pháp sao chép. Nó không thay đổi 5 mà thay vào đó trả về một bản sao nông chứa các phần tử giống như các phần tử từ mảng ban đầu (với một số được lọc ra). Tuy nhiên, hàm được cung cấp dưới dạng 3 có thể thay đổi mảng. Tuy nhiên, lưu ý rằng độ dài của mảng được lưu trước lần gọi đầu tiên của 3. Vì vậy
Cảnh báo. Các sửa đổi đồng thời thuộc loại được mô tả ở trên thường dẫn đến mã khó hiểu và thường nên tránh (trừ trường hợp đặc biệt) Phương pháp 2 là chung chung. Nó chỉ mong đợi giá trị 5 có thuộc tính 3 và các thuộc tính có khóa số nguyênví dụLọc ra tất cả các giá trị nhỏVí dụ sau sử dụng 2 để tạo một mảng đã lọc có tất cả các phần tử có giá trị nhỏ hơn 5 đã bị xóa
Tìm tất cả các số nguyên tố trong một mảngVí dụ sau trả về tất cả các số nguyên tố trong mảng 2Lọc các mục nhập không hợp lệ từ JSONVí dụ sau sử dụng 2 để tạo JSON được lọc gồm tất cả các phần tử có giá trị khác 0, số 7
Tìm kiếm trong mảngVí dụ sau sử dụng 2 để lọc nội dung mảng dựa trên tiêu chí tìm kiếm 5Sử dụng bộ lọc () trên các mảng thưa thớt 2 sẽ bỏ qua các ô trống 6Gọi bộ lọc() trên các đối tượng không phải mảngPhương thức 2 đọc thuộc tính 3 của 5 và sau đó truy cập từng chỉ mục số nguyên
Làm cách nào để sử dụng bộ lọc cho đối tượng trong JavaScript?Các đối tượng JavaScript không có phương thức filter(), trước tiên bạn phải biến đối tượng thành một mảng để sử dụng phương thức filter() của mảng. You can use the Object. keys() function to convert the object's keys into an array, and accumulate the filtered keys into a new object using the reduce() function as shown below.
Làm cách nào để lọc danh sách các đối tượng 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.
Làm cách nào để lọc đối tượng dựa trên giá trị trong JavaScript?Để lọc các đối tượng trong JavaScript, áp dụng kết hợp các phương thức “filter()” và “search()” để tìm kiếm giá trị của đối tượng và lọc nó. Moreover, only the filter() can be utilized to filter out the property of an object based on the added conditions.
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. |