본문 바로가기
개발/JavaScript

자바스크립트 - 2차원 배열에서 중복된 행 제거하기

by 피로물든딸기 2024. 3. 7.
반응형

자바스크립트 전체 링크

 

중복된 행을 체크해서 제거한다.

const removeDuplicateRows = (array) => {
  // 중복 체크
  let uniqueRows = {};

  // 중복되지 않은 행만 포함하는 새로운 배열
  let result = array.filter(function (row) {
    let rowStr = row.join(",");
    if (!uniqueRows[rowStr]) {
      uniqueRows[rowStr] = true;
      return true;
    }

    return false;
  });

  return result;
};

var array2D = [
  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
  [11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], // 중복된 행
  [21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
  [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], // 중복된 행
];

let newArray2D = removeDuplicateRows(array2D);

console.log(newArray2D);

 

결과는 다음과 같다.

[
  [
    1, 2, 3, 4, 5,
    6, 7, 8, 9, 10
  ],
  [
    11, 12, 13, 14, 15,
    16, 17, 18, 19, 20
  ],
  [
    21, 22, 23, 24, 25,
    26, 27, 28, 29, 30
  ]
]
반응형

댓글