const matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
];
const lists = (arg: number[][]): number[][] => {
let newArr: number[][] = [];
arg.forEach((x) => {
const length = x.length;
const mapping = (internalArr: number[], index: number) => {
if (!newArr[index]) {
newArr.push([internalArr[index]]);
} else {
newArr[index].push(internalArr[index]);
}
if (index < length - 1) {
mapping(internalArr, index + 1);
}
};
mapping(x, 0);
});
return newArr;
};
console.log(lists([...matrix]));
이해하기 쉽고 편합니다.
arg.forEach(row => { row.forEach((value, index) => { newArr[index].push(value); }); }); 시발아
그렇게하면 newArr은 빈배열인데 newArr[index]에 어떻게 push 한다는거죠? 그리고 내부로직은 코드의 의미를 정확히 파악할수있는 재귀호출을 사용하는편이 좋습니다 선생님