我们需要编写一个JavaScript函数,该函数接受一个二维数组并返回其转置数组。
为此的代码将是-
方法1:使用Array.prototype.forEach()
const arr = [ [0, 1], [2, 3], [4, 5] ]; const transpose = arr => { const res = []; arr.forEach((el, ind) => { el.forEach((elm, index) => { res[index] = res[index] || []; res[index][ind] = elm; }); }); return res; }; console.log(transpose(arr));
方法2:使用Array.prototype.reduce()
const arr = [ [0, 1], [2, 3], [4, 5] ]; const transpose = arr => { let res = []; res = arr.reduce((acc, val, ind) => { val.forEach((el, index) => { acc[index] = acc[index] || []; acc[index][ind] = el; }); return acc; }, []) return res; }; console.log(transpose(arr));
两种方法在控制台中的输出将是-
[ [ 0, 2, 4 ], [ 1, 3, 5 ] ]