배열 중복 요소 제거하기

이재훈·2020년 9월 19일
0
post-custom-banner

매번 중복 요소 관련 문제만 나오면 헷갈린다.
그래서 정리해서 블로그에 올린다.

더이상 헷갈리지 말기!!

배열 중복 요소 제거하기

filter사용법
arr.filter(callback(element[, index[, array]])[, thisArg])
[매개변수]
* callback : 각 요소를 시험할 함수. true를 반환하면 요소를 유지하고, false를 반환하면 버린다. 
			다음 세 가지 매개변수를 받는다.
* element : 처리할 현재 요소.
* index (Optional) : 처리할 현재 요소의 인덱스.
* array (Optional) : filter를 호출한 배열.
* thisArg (Optional) : callback을 실행할 때 this로 사용하는 값.

[반환 값]
테스트를 통과한 요소로 이루어진 새로운 배열. 어떤 요소도 테스트를 통과하지 못했으면 빈 배열을 반환한다.
--------------------------------------------var tmp = ["1", "2", "3", "2", "1"] ; // temp 배열
tmp.filter(function(item, index, self) {
      return self.indexOf(item) == index;

/* 현재 처리하는 요소의 인덱스 넘버와 현재 처리할 요소의 인덱스 넘버가 같으면 true로 살아남고,
false면 버려지는건데,indexOf(item) 에 "2"와 같이 item에 들어오면
자연스레 1번째의 2로 인식이 되어 
다시 인덱스 넘버는 1이 된다. 따라서 중복되는 3번째의 '2'는 false가 되어 버려진다. 
4번째의 '1'도 마찬가지!!!!!!!
*/
 })




// -> ["1", "2", "3"]			
                    						potter
profile
코딩에서 인생을 배우다.
post-custom-banner

0개의 댓글