Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การค้นหาในอาร์เรย์ด้วยสตริงที่แยกเป็นอาร์เรย์ใน JavaScript


เรามีอาร์เรย์สตริง และอีกสตริงหนึ่งสำหรับค้นหา สามารถ Filter อาร์เรย์โดยตรวจสอบว่ามีตัวอักษรทั้งหมดที่ผู้ใช้ให้มาหรือไม่

โค้ดสำหรับทำเช่นนี้ −

ตัวอย่าง

วิธีที่ 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);

ผลลัพธ์

ผลลัพธ์ใน Console −

["14/02/2020, 11:47,G12, Kalkaji"]

อีกวิธีที่ดีกว่า คือไม่ต้อง Split Input ดังด้านล่าง −

ตัวอย่าง

วิธีที่ 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);

แต่วิธีที่ 2 นี้คำนึงถึงลำดับตัวอักษร (Sequence Sensitive) คือ AB จะ match กับ ab หรือ Ab แต่ไม่ match กับ BA หรือ ba

ผลลัพธ์ใน Console −

ผลลัพธ์

["14/02/2020, 11:47,G12, Kalkaji"]