Что означает «=>» в JavaScript? [Дубликат]

На этот вопрос уже есть ответ здесь:

Когда я должен использовать функции Arrow в ECMAScript 6? 7 ответов

Вот код:

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"
 mplungjan15 июл. 2016 г., 23:44
Да я другой нашел первым
 JJJ15 июл. 2016 г., 23:41
Лучше дубликат:stackoverflow.com/questions/24900875/...
 Rocket Hazmat15 июл. 2016 г., 23:40
Это новая функция ES6 под названием «Функции стрелок». Увидеть;developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
 jaredad723 авг. 2018 г., 19:15
Так может ли быть ссылка вверху на вопрос, найденный @JJJ? Этот вопрос «Что такое ...» Предполагаемый дубликат вопроса, связанный выше: «Когда я ...» Совсем не одно и то же.

Ответы на вопрос(1)

Решение Вопроса

которая появилась в ES6 и называется функцией стрелки. Левая часть обозначает ввод функции, а правая часть - вывод этой функции.

Так что в вашем случае

s.split('')

разбивает ввод на пустые места, и для каждого элемента полученного массива вы применяете следующую функцию:

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

Левая часть является случайным элементом,x массива (s.split('')) и это соответствующий индекс. Вторая часть применяет преобразование к этому входу.

 Paul Stenne15 июл. 2016 г., 23:48
Не downvoter, но я собираюсь догадаться, что это потому, что это обман хорошо известного вопроса, и из-за этого ответа он не будет удаленRoomba.
 Christos16 июл. 2016 г., 00:10
Посмотрите здесьdeveloper.mozilla.org/en-US/docs/Web/JavaScript/Reference/... под синтаксисом.
 Christos16 июл. 2016 г., 00:11
@ Твигс, ха-ха :) Добро пожаловать. Я рад, что я помог!
 Christos16 июл. 2016 г., 00:08
Это не имеет отношения к ES6. Чтобы получить его, откройте инструменты разработчика и в консоли напишите это,var arr = Array(4), Затем написать,arr.length, Как вы думаете, вы получите 4. Почему? Потому что вы создали массив длиной 4. Какие значения вarr? Не определено! Вы можете проверить это довольно легко, если вы напишитеarr[0], arr[1], ...
 Twigs15 июл. 2016 г., 23:49
так раздражает ... Я был бы более чем счастлив исправить мою проблему, если бы кто-то просто сказал мне. В любом случае, спасибо за ответ на мой вопрос. Еще один вопрос, что такое "Array ()" ... Я не могу найти этот метод нигде.
 Twigs15 июл. 2016 г., 23:55
Что я не понимаю, так это «Массив (индекс + 1) ... Я понимаю, что он делает, но что такое« Массив () »? Я не могу найти этот синтаксис / метод / правило нигде
 Twigs16 июл. 2016 г., 00:11
Я никогда не видел этого, но это очень полезно. Спасибо вам большое! Я бы дал тебе миллион голосов, если бы мог.
 Twigs16 июл. 2016 г., 00:03
Я понимаю эту часть, но я не понимаю этот синтаксис. капитализированный метод? Если я сделаю метод «массив (индекс + 1)» вместо «массив (индекс + 1)», он не будет работать. Зачем? Что это за синтаксис? Я никогда не видел ничего подобного и не могу найти его в новой документации ES6, касающейся функций стрелок.
 Christos15 июл. 2016 г., 23:58
Array(index+1) создает массив длиныindex+1.

Ваш ответ на вопрос