Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
內容目錄
找出回文構詞法 (anagrams) 的字串 (如 ‘eat’ 與 ‘ate’ 及 ‘tea’ 屬於同系列的回文構詞)。
function anagrams(word, words) { let str = word.split('').sort().join(''), arr2 = []; words.forEach( function(w){ if( w.split('').sort().join('') === str ) { arr2.push(w); } }); return arr2; }
String.prototype.sort = function() { return this.split("").sort().join(""); }; function anagrams(word, words) { return words.filter(function(x) { return x.sort() === word.sort(); }); }
評選最佳的解法,是藉由定義字串物件的原型屬性 (prototype) 的方法,接著直接用 filter()
的方式來篩選符合條件的數值。
這次需要改進的地方一樣在「避免不必要的迴圈」上。此外,這次也建立了多餘的變數。透過繼承原型屬性的方式,可以將字串的排序直接標準化,也是提升運算效率的原因。