Javascript описывает синтаксис метода карты как:
arr.map(обратный вызов[, thisArg])
Параметры
- callback — функция, которая создает элемент нового массива, принимая три аргумента:
- currentValue — текущий обрабатываемый элемент массива.
- index - Индекс текущего обрабатываемого элемента в массиве.
- array Была вызвана карта массива.
- thisArg — значение, используемое при выполнении обратного вызова.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
Я могу написать функцию JS, которая делает первую букву каждого слова в массиве строк заглавной, следующим образом:
capyyIt(['john', 'nelson mandela', 'james booth']) // returns ['John', 'Nelson mandela', 'James booth']
function capyyIt(names) {
return names.map(function capIt(curr) { return curr[0].toUpperCase() + curr.slice(1).toLowerCase(); });
}
- Как я могу написать capIt с 4 параметрами (даже если я не использую их все)? Я спрашиваю, потому что я пробовал это с 4 параметрами, но это не сработало.
Как я могу написать capIt как не вызываемое немедленно функциональное выражение - что-то вроде:
function capyyIt(names) { return names.map(capIt); } function capIt(curr,index,arr) { return curr[0].toUpperCase() + curr.slice(1).toLowerCase(); }