Javascript ::邮编

创建一个元素数组,根据原始数组中的位置进行分组。

使用  获得的参数最长的阵列。创建一个具有该长度的数组作为返回值,并 与map函数一起使用 以创建分组元素的数组。如果参数数组的长度不同,  则在找不到值的地方使用。Math.max.apply()Array.from()undefined

const zip = (...arrays) => {
  const maxLength = Math.max(...arrays.map(x => x.length));
  return Array.from({ length: maxLength }).map((_, i) => {
    return Array.from({ length:arrays.length}, (_, k) => arrays[k][i]);
  });
};
zip(['a', 'b'], [1, 2], [true, false]); // [['a',1,true],['b',2,false]]
zip(['a'], [1, 2], [true, false]); // [['a',1,true],[undefined,2,false]]