首页 > 解决方案 > 数组或未定义或默认数组作为函数的参数

问题描述

我想将可选的数组传递给函数或将其设置为默认值的数组。

这是典型的方式: function myfunc(...values : Array<number>)

我知道我可以这样做,但我不知道如何设置它以允许此函数调用:

myfunc()
myfunc(1)
myfunc(1,2)
myfunc([1, 2])

以上,除 myfunc() 之外的所有内容都受支持。我怎样才能做到?

标签: arraystypescriptfunctionoverloading

解决方案


这里是:

function myfunc(...values : Array<number> | [Array<number>]) {}

myfunc()
myfunc(1)
myfunc(1,2)
myfunc([1, 2])

myfunc('invalid')
myfunc([1, 2], [3, 4])

这是一个预览,您可以在其中检查结果。


推荐阅读