Ограничить число параметров, которые принимает функция JavaScript - PullRequest
0 голосов
/ 24 сентября 2018

Как ограничить количество параметров, принимаемых функцией Javascript?

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

const names = ["John", "Jack", "Jake"]

names
.map(console.log)

1 Ответ

0 голосов
/ 24 сентября 2018

Javascript не предоставляет четкого способа ограничения количества параметров, принимаемых функцией.

Однако вы можете сделать это, поместив оригинальную функцию в функцию стрелки likeo:

const log1 = first => console.log(first)
const log2 = (first, second) => console.log(first, second)
// ...

const names = ["John", "Jack", "Jake"]

names
.map(log1)

Несколько более подходящим и масштабируемым подходом было бы создание функции limitParams, которая ограничивает число параметров, которые данная функция принимает для указанного числа:

const limitParams = n => f => (...params) => f(...params.slice(0, n))

const log1 = limitParams(1)(console.log)
const log2 = limitParams(2)(console.log)
// ...

const names = ["John", "Jack", "Jake"]

names
.map(log1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...