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() 的方式來篩選符合條件的數值。
這次需要改進的地方一樣在「避免不必要的迴圈」上。此外,這次也建立了多餘的變數。透過繼承原型屬性的方式,可以將字串的排序直接標準化,也是提升運算效率的原因。