Home

오늘의 기억

[JavaScript] 배열 중복 요소 제거


두서 없이 바로 소스코드 !

(※ ES6 이상 지원)

Array.prototype.uniq = function() {
  return this.filter((e, i, a) => a.indexOf(e) === i);
};

설명

  • 배열의 filter 메소드를 이용
  • filter 메소드는 현재 배열 요소 중 조건에 맞는 요소만 필터링하여 반환하는 메소드
  • filter 메소드에 사용되는 콜백 함수의 매개 변수는 3개로, 순서대로 배열 요소(e) 인덱스(i) 배열 원본(a) 순으로 구성
  • 동일한 요소의 인덱스를 찾아서 자기 자신의 인덱스와 같은 경우만 필터링 ==> 중복은 제거 됨
  • Chaining Method로 ES6의 다른 함수형 메소드와 병행해서 사용 가능
20190408 Charyum.Park