寻找二维数组的转置—— JavaScript
我们需要编写一个 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 ] ]
广告