假设我想创建一个zip函数:
function zip(arrays){
// assume more than 1 array is given and all arrays
// share the same length
const len = arrays[0].length;
const toReturn = new Array(len);
for (let i = 0; i < len; i++){
toReturn[i] = arrays.map(array=>array[i]);
}
return toReturn;
}
console.log(zip([
[1,2,3],
[4,5,6],
[7,8,9],
[10,11,12],
]));
/*
Output:
(3) [Array(4), Array(4), Array(4)]
0: (4) [1, 4, 7, 10]
1: (4) [2, 5, 8, 11]
2: (4) [3, 6, 9, 12]
*/
Run Code Online (Sandbox Code Playgroud)
为了在所有数组都包含相同类型的元素时定义此函数:
function zip<T>(arrays: …Run Code Online (Sandbox Code Playgroud)