繁体   English   中英

将数组传播到typescript中的参数

[英]Spreading array to arguments in typescript

我有一个数组数组,我想将每个数组用作函数的参数,例如,在javascript中它可能看起来像:

 const args = [ [1, 'a'], [2, 'b'], ]; const concatter = (first, second) => `${first}-${second}`; const test = args.map(a => concatter(...a)); console.dir(test); 

我在打字稿中尝试了类似的东西,但是我遇到了让它运转起来的问题。 这是一个游乐场的链接。 代码如下所示:

const args = [
    [1, 'a'],
    [2, 'b'],
];

const concatter = (first: number, second: string) => `${first}-${second}`;

const singleTest = concatter(...args[0]);
const test = args.map(a => concatter(...a));

但是,对此,调用concatter显示错误:

Expected 2 arguments, but got 0 or more.

好像我在这里犯了一个相当基本的错误,但我还没有找到任何可能的信息。

您只需要为args添加一个类型,因此TypeScript知道args变量是一个带有数字和字符串的元组数组。

然后它会工作:

const args: [number, string][] = [
    [1, 'a'],
    [2, 'b'],
];

const concatter = (first: number, second: string) => `${first}-${second}`;

const singleTest = concatter(...args[0]);

const test = args.map(a => concatter(...a));

console.log(test);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM