我有两个函数,它们通过使用 ...array
将数组作为参数三点符号。这样我就可以这样使用该函数:Foo('a', 'b', 'c')
。
我面临的问题是,当我将第一个函数的参数传递给第二个函数时,我收到类型错误。
Argument of type 'string[]' is not assignable to parameter of type 'string'
这个问题可以通过删除参数前面的点来解决,但是我必须像这样传递参数 ['a', 'b', 'c']
。这对我来说不是一个选择。所以我想知道是否有办法使用 ...
将整个数组传递给另一个函数符号。
function Foo(...array: string[]) {}
function Test(...array: string[]) {
Foo(array) // This is where it starts complaining
}
所以我想要的是传递 Foo
的参数到函数Test
,而不删除 ...
符号。
最佳答案
简单:只需传播它们即可。
function Test(...array: string[]) {
Foo(...array);
}
Foo 需要 0 个或多个 string
类型的参数。如果没有扩展运算符,您将向其传递一个字符串数组。
关于javascript - 如何使用三点...点符号将数组传递给另一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56492956/