ปัญหา
เราจำเป็นต้องออกแบบโครงสร้างข้อมูลใน JavaScript ที่รองรับการทำงานสองอย่างต่อไปนี้ -
- addWord ซึ่งเพิ่มคำลงในโครงสร้างข้อมูล (DS) เราสามารถช่วย DS ที่มีอยู่ เช่น อาร์เรย์หรือ DS อื่นๆ เพื่อจัดเก็บข้อมูลนี้
- ค้นหา ซึ่งค้นหาคำตามตัวอักษรหรือสตริงนิพจน์ทั่วไปที่มีตัวพิมพ์เล็ก "a-z" หรือ "" ที่ไหน "." สามารถเป็นตัวแทนของตัวอักษรใด ๆ
ตัวอย่างเช่น
addWord("sir") addWord("car") addWord("mad") search("hell") === false search(".ad") === true search("s..") === true
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
class MyData{ constructor(){ this.arr = []; }; }; MyData.prototype.addWord = function (word) { this.arr.push(word) }; MyData.prototype.search = function (word) { let reg = new RegExp('^'+word+'$'); return !!this.arr.find(el => reg.test(el)); }; const data = new MyData(); data.addWord('sir'); data.addWord('car'); data.addWord('mad'); console.log(data.search('hell')); console.log(data.search('.ad')); console.log(data.search('s..'));
ผลลัพธ์
ต่อไปนี้เป็นเอาต์พุตคอนโซล -
false true true