arrays - 为剩余参数强制至少一个参数

标签 arrays typescript ecmascript-6 variadic-functions

我为此搜索了答案,但没有找到答案:
有没有办法为剩余参数强制至少一个参数?
在下面的代码中,对 logArray 的所有三个调用都是有效的,但我希望第一个调用失败。

function logArray(...elements: number[]) {
    elements.forEach(x => console.log(x));
}

logArray(); // should fail but works
logArray(1);
logArray(1,2);

最佳答案

一个可能的解决方案是在剩余参数前面添加一个常规参数,然后像这样将它连接回函数体

function logArray(e1: number ,...erest: number[]) {
    [e1, ...erest].forEach(x => console.log(x));        
}

关于arrays - 为剩余参数强制至少一个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38744721/

相关文章:

c - 难倒 : for loop to build an array not working, 忽略初始条件?

Javascript 在遍历数组时按索引插入数组

arrays - 通过 Graph API 将照片发布到 Facebook : OAuthException: (#100) param tags must be an array

angular - TypeError : val. set is not a function (JS Map())

javascript - Microsoft EDGE 消息 : SCRIPT1006: Expected ')'

java - 相邻数组的最小值

Netbeans 中的 Typescript 格式化

json - typescript 无法使用 react-native 将 header 添加到获取 api

javascript - Node JS 同步读取一行文本

javascript - 无法在 react 中使用 setinterval() 附加数组(状态元素)