2016-07-15 148 views
8

下面是代碼:「=>」在JavaScript中的含義是什麼?

function accum(s) { 
    return s.split('').map((x,index) => x.toUpperCase()+Array(index+1).join(x.toLowerCase())).join('-'); 
} 

我想知道什麼是 「=>」 是。此函數接受一個字符串,併爲每個元素的索引號添加許多元素到輸出中。下面是一個例子:

accum("abcd") --> "A-Bb-Ccc-Dddd" 
accum("RqaEzty") --> "R-Qq-Aaa-Eeee-Zzzzz-Tttttt-Yyyyyyy" 
accum("cwAt") --> "C-Ww-Aaa-Tttt" 
+1

這是一個新的ES6功能,稱爲「箭頭功能」。看到; https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions –

+0

更好的重複:http://stackoverflow.com/questions/24900875/whats-the-meaning-of-an - 從等於大於等於 - 大於 - 在書寫 – JJJ

+0

是的,我發現了其他第一 – mplungjan

回答

8

這是ES6中引入的新功能,稱爲箭頭功能。左邊部分表示功能的輸入,右邊部分表示該功能的輸出。

所以,你的情況下

s.split('') 

將輸入上的空白空間,併爲應用以下功能導致陣列中的每個元素:

(x,index) => x.toUpperCase()+Array(index+1).join(x.toLowerCase()) 

左邊部分是隨機元,數組xs.split(''))及其對應的索引。第二部分對此輸入應用轉換。

+0

不是downvoter,但我會猜測這是因爲這是一個衆所周知的問題,由於這個答案不會被[Roomba](https://stackoverflow.com/help/roomba)刪除。 –

+0

太令人討厭......如果有人會告訴我,我很樂意解決我的問題。無論如何,謝謝你回答我的問題。還有一個問題,什麼是「Array()」...我無法在任何地方找到此方法。 – Twigs

+0

我不明白的是「Array(index + 1)...我得到它在做什麼,但是什麼是」Array()「?我無法在任何地方找到這個語法/方法/規則 – Twigs