Chúng ta được cung cấp một mảng các chuỗi và một chuỗi khác mà chúng ta được yêu cầu tìm kiếm trong mảng. Chúng tôi có thể lọc mảng để kiểm tra xem nó có chứa tất cả các ký tự mà người dùng đã cung cấp thông qua đầu vào hay không.
Mã để làm điều tương tự sẽ là -
Ví dụ
Giải pháp 1
const deliveries = ["14/02/2020, 11:47,G12, Kalkaji", "13/02/2020, 11:48, A59, Amar Colony"]; const input = "g12, kal"; const pn = input.split(" "); const requiredDeliveries = deliveries.filter(delivery => pn.every(p => delivery.toLowerCase() .includes(p.toLowerCase()))); console.log(requiredDeliveries);
Đầu ra
Đầu ra trong bảng điều khiển -
["14/02/2020, 11:47,G12, Kalkaji"]
Trong một cách tiếp cận khác và tốt hơn một chút, chúng ta có thể loại bỏ bước tách đầu vào như hình dưới đây -
Ví dụ
Giải pháp 2
const deliveries = ["14/02/2020, 11:47,G12, Kalkaji", "13/02/2020, 11:48, A59, Amar Colony"]; const input = "g12, kal"; const requiredDeliveries = deliveries .filter(delivery => delivery.toLowerCase() .includes(input.toLowerCase())); console.log(requiredDeliveries);
Nhưng trong khi sử dụng cách tiếp cận thứ hai này, chúng ta phải lưu ý rằng các số nhạy chuỗi AB sẽ khớp với ab hoặc Ab nhưng không khớp với BA hoặc ba.
Đầu ra trong bảng điều khiển -
Đầu ra
["14/02/2020, 11:47,G12, Kalkaji"]