在 JavaScript 中的数据结构中添加和搜索单词
问题
我们要求在 JavaScript 中设计一个支持以下两个操作的数据结构 −
- addWord,该操作会将单词添加到该数据结构 (DS) 中,我们可以借助数组或其他任何 DS 等现有 DS 来存储此数据,
- search,该操作会搜索文字单词或包含小写字母 "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
广告