ปัญหา
เราจำเป็นต้องออกแบบโครงสร้างข้อมูลใน 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