Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การเพิ่มและค้นหาคำในโครงสร้างข้อมูลที่กำหนดเองใน JavaScript


ปัญหา

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