เราได้รับอาร์เรย์ของสตริงและสตริงอื่นที่เราจำเป็นต้องค้นหาในอาร์เรย์ เราสามารถกรองอาร์เรย์ตรวจสอบว่ามีอักขระทั้งหมดที่ผู้ใช้ระบุผ่านอินพุตหรือไม่
รหัสสำหรับทำเช่นเดียวกันคือ −
ตัวอย่าง
โซลูชันที่ 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);
ผลลัพธ์
เอาต์พุตในคอนโซล −
["14/02/2020, 11:47,G12, Kalkaji"]
ในอีกแนวทางหนึ่งที่ดีกว่าเล็กน้อย เราสามารถลบขั้นตอนการแยกอินพุตดังที่แสดงด้านล่าง −
ตัวอย่าง
โซลูชันที่ 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);
แต่ในขณะที่ใช้วิธีที่สองนี้ เราต้องจำไว้ว่ามันเป็นลำดับที่ละเอียดอ่อนหมายความว่า AB จะจับคู่กับ ab หรือ Ab แต่ไม่จับคู่กับ BA หรือ ba
เอาต์พุตในคอนโซล −
ผลลัพธ์
["14/02/2020, 11:47,G12, Kalkaji"]