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

ตรวจสอบค่าในอาร์เรย์แบบไม่สนใจตัวพิมพ์เล็ก/ใหญ่ (Case Insensitive) ใน JavaScript

ใช้ Regular Expression พร้อม flag 'i' สำหรับ Case Insensitive

สร้าง RegExp จากอาร์เรย์ค่า แล้วใช้ test() ตรวจสอบ

ตัวอย่างโค้ด

var allNames = ['john', 'John', 'JOHN'];

// รวมค่าด้วย | (OR) และใช้ flag 'i' สำหรับ case-insensitive
var makeRegularExpression = new RegExp(allNames.join("|"), "i");

var hasValue = makeRegularExpression.test("JOHN");
console.log("Is Present = " + hasValue); // true

วิธีรัน

node fileName.js

ผลลัพธ์

Is Present = true

วิธีอื่น: ใช้ array.some() และ toLowerCase()

const names = ['john', 'John', 'JOHN'];
const search = "JOHN";

const found = names.some(name => name.toLowerCase() === search.toLowerCase());
console.log(found); // true

คำอธิบาย

  • new RegExp(pattern, 'i'): flag i = case insensitive
  • join("|") รวมค่าเป็น pattern แบบ OR: john|John|JOHN
  • test() คืนค่า true/false ว่าตรงกับ pattern หรือไม่
  • วิธี some() + toLowerCase() อ่านง่ายกว่า และหลีกเลี่ยง regex special characters