javascript - 如何使用三点...点符号将数组传递给另一个函数?

标签 javascript arrays typescript

我有两个函数,它们通过使用 ...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/

相关文章:

javascript - 将 PHP 变量分配给 JavaScript 变量,值正在消失

javascript - 如何将 jquery 拖放转换为 Angular ?

typescript - 既然 2.0 已经发布,Ionic 1.0 是否会被弃用?

javascript - 更改 url 时动画 gif 卡住

javascript - 隐藏表行时 HTML 列宽发生变化

C++ 异常 :Throwing Arrays and getting array size in catch

arrays - 查询数组元素的值(PostgreSQL)

javascript - 添加新项目时 vsCode 刷新树

php - 将 php $_GET 变量存储在 javascript 变量中?

java - 在循环中自动生成数组