javascript 배열 중복 제거

remove duplicates from javascript array

 

 

배열의 값들을 중복제거 하는 방법을 알아보자.

 

방법은 여러가지가 있는데 javascript에서 단순하게 루프를 돌면서 검사하는 함수를 만들어서 제거하는 방법에 대해서 설명한다.

 

함수명은 removeDuplicatesArray 라고 만들었다.

 

javascript 소스

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    function removeDuplicatesArray(arr) {
        var tempArr = [];
        for (var i = 0; i < arr.length; i++) {
            if (tempArr.length == 0) {
                tempArr.push(arr[i]);
            } else {
                var duplicatesFlag = true;
                for (var j = 0; j < tempArr.length; j++) {
                    if (tempArr[j] == arr[i]) {
                        duplicatesFlag = false;
                        break;
                    }
                }
                if (duplicatesFlag) {
                    tempArr.push(arr[i]);
                }
            }
        }
        return tempArr;
    }
cs

1# : 파라미터로 배열을 받는 함수 선언

2# : 리턴할 배열 변수 선언

3# : 파마리터 배열 루프

4# ~ 5# : 리턴할 배열 변수가 비어있다면 무조건 파라미터 배열의 첫번째 값을 넣어준다. (초기화)

7# : 중복 여부를 체크할 Flag

8# : 리턴할 배열 변수 루프

9# ~ 12# : 리턴할 배열 변수의 값과 파라미터 배열의 값이 같으면 플래그에 false 값을 넣어주고 루프를 멈춘다.

14# ~ 16# : 플래그 값이 false 이면 중복된 값이 있음으로 값을 넣어주지 않고 true 일 경우에만 추가한다.

 



 

 

 

사용방법

1
2
3
4
5
6
7
8
9
10
11
    var testArr = new Array();
    testArr.push("1");
    testArr.push("2");
    testArr.push("2");
    testArr.push("4");
    testArr.push("6");
    testArr.push("6");
    testArr.push("7");
    
    alert(testArr);
    alert(removeDuplicatesArray(testArr));
cs

결과

 

by 개발자 CofS 2018.04.10 16:31