我其實覺得這看起來更像一個班輪。其實,我需要爲此在近日接受採訪時,他們似乎對我的解決方案的簡潔
所以非常深刻的印象,而不是我這樣做: function letterChange(str){ return String.fromCharCode.apply(null,Array.prototype.map.call(str,i=>i.charCodeAt(0)+1)); }
也不是,我=> u.charCodeAt(0 )是一個lambda函數,如果不使用轉譯器,將無法在所有Web瀏覽器中運行。如果你還在使用ES5你也可以使用此:
function letterChange(str){ return String.fromCharCode.apply(null,Array.prototype.map.call(str,function(i){ return i.charCodeAt(0)+1; })); }
要更多地解釋這一點讓打破它:
可能提出問題的第一件事是「應用」功能。應用需要2個參數,一個對象(在這種情況下無關,所以我們使用null)和一個參數數組。然後這些參數以逗號分隔形式傳遞給我們所稱的應用函數。在fromCharCode的情況下,傳遞多個參數將返回一個由所有結果組成的字符串。接下來,我們傳遞給它'Array.prototype.map.call',它允許我們在一個字符串上調用數組字面函數映射,這個字符串不是隨地圖出來的。然後我們通過這個函數來應用並返回完整的結果。
你只想要字母字符? [A-Z] –