如何告诉TypeScript我正在返回输入类型的数组的数组?

时间:2018-11-08 07:54:14

标签: arrays typescript types typescript-typings typescript-types

我有一个对数组进行分块的函数:

const chunkArray = (inputArray: any[], chunks: number) => {
  const chunkedArray = [];
  let i = 0;
  const n = inputArray.length;

  while (i < n) {
    chunkedArray.push(inputArray.slice(i, (i += chunks)));
  }

  return chunkedArray;
};

export default chunkArray;

我希望我的linter知道给定的输入数组,输出数组是什么样的。例如

const chunkedArrays = chunkArray([1, 2, 3, 4, 5], 2); // [[1, 2], [3, 4], [5]]

我的linter现在应该chunkedArrays是一个数字数组。目前,它表示这是任何阵列。

我该如何实现?

1 个答案:

答案 0 :(得分:2)

您需要向函数添加通用类型参数。 type参数将捕获输入数组中元素的实际类型,然后您可以使用此泛型类型指定其与结果的关系:

composer dump-autoload -o