더북(TheBook)

위쪽 정렬은 왼쪽 정렬과 비교했을 때 행과 열이 바뀝니다. 즉, ij가 반대입니다(여기도 마찬가지로 왼쪽 정렬과 다른 부분에 배경색을 표시했습니다).

case 'up': { // 위쪽 정렬
  const newData = [[], [], [], []];
  data.forEach((rowData, i) => {
    rowData.forEach((cellData, j) => {
      if (cellData) {
        const currentRow = newData[j]
        const prevData = currentRow.at(-1);
        if (prevData === cellData) {
          currentRow[currentRow.length - 1] *= -2;
        } else {
          newData[j].push(cellData);
        }
      }
    });
  });
  console.log(newData);
  [1, 2, 3, 4].forEach((cellData, i) => {
    [1, 2, 3, 4].forEach((rowData, j) => {
      data[j][i] = Math.abs(newData[i][j]) || 0;
    });
  });
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.