如何限制Javascript函数接受的参数数量?
因此,此代码段仅记录每个值,不包括索引和数组:
const names = ["John", "Jack", "Jake"]
names
.map(console.log)
答案 0 :(得分:1)
JavaScript没有提供明确的方法来限制函数接受的参数数量。
但是,您可以通过将原始函数包装在箭头函数中来实现此目的,例如:
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)