【发布时间】:2021-06-15 17:36:08
【问题描述】:
我想给这个 JS 函数添加类型:
function zip(array1, array2) {
const length = Math.min(array1.length, array2.length);
const result = [];
for (let i = 0; i < length; i++) {
result.push([array1[i], array2[i]]);
}
return result;
}
const res = zip(["1","2","3"], [4,5,6])
这是 res 的输出:
[["1",4],["2",5],["3",6]]
到目前为止,我能够创建以下sn-p,但这并不理想,因为结果类型不知道第一项是字符串,第二项是数字,它说它可以是任何一个其中:
function zip<T,U>(array1: T[], array2: U[]): (T|U)[][] {
const length = Math.min(array1.length, array2.length);
const result = [];
for (let i = 0; i < length; i++) {
result.push([array1[i], array2[i]]);
}
return result;
}
const res = zip(["1","2","3"], [4,5,6])
【问题讨论】:
标签: typescript typescript-generics