TypeScript(JavaScript)로 Array의transpose(전체, 행렬 대체)

6783 단어 JavaScriptTypeScript

팀을 바꾸고 싶을 때가 있지.
const table = [
  ['www.apple.com', 'www.apple.com'],
  ['www.amazon.com', 'www.amazon.com', 'www.amazon.com'],
  ['www.google.com'],
].sort((a, b) => b.length - a.length);

table[0]
.map((_, idx) => table.map (row => row[idx]));

undefined가 싫을 때도 있지.
const table = [
  ['www.apple.com', 'www.apple.com'],
  ['www.amazon.com', 'www.amazon.com', 'www.amazon.com'],
  ['www.google.com'],
].sort((a, b) => b.length - a.length);

table[0]
.map((_, idx) => table.map (row => row[idx]))
.map(row => row.filter(v => v));

총결산
transpose = <T>(table: T[][]): T[][] => {
    return table
        .sort((a, b) => b.length - a.length)[0]
        .map((_, idx) => table.map(row => row[idx]))
        .map(row => row.filter(v => v));
}

via https://qiita.com/kznr_luk/items/790f1b154d1b6d4de398

좋은 웹페이지 즐겨찾기