IE에서 사용가능한 배열에서 중복 제거하기 

	    this.removeDuplicates = function(arr) {
	        var uniqueArray = [];
	        var seen = {}; // 이미 본 값을 추적하는 객체

	        for (var i = 0; i < arr.length; i++) {
	            if (!seen[arr[i]]) { // 이미 본 값이 아니면
	                uniqueArray.push(arr[i]); // 배열에 추가
	                seen[arr[i]] = true; // 본 값을 추적
	            }
	        }
	        return uniqueArray;
	    }

'Web > Javascript' 카테고리의 다른 글

TypeScript를 공부 가이드  (0) 2023.02.27
toString()의 사용법과 활용 예시  (0) 2023.02.14
조건문 좀더 편하게 사용하기  (0) 2023.01.13

ES6이다 뭐다... 모든브라우저에서 작성한 코드가 동작을 안하는 경우 난감한 상황이 발생 할 수 있다.

그중에 하나가 javascript 작성시 중복제거 코드를 작성했는데 IE에서 동작하지 않는 경우를 볼 수 있다.

 

findindex나 화살표함수(ES6) 문법을 사용하는 코드의 경우 문제가 될 수 있다.

아직까지 IE가 사라지지 않았으므로.. jQuery를 이용한 중복제거 함수를 작성해 보았다.

1
2
3
4
5
6
7
8
9
var valueArr = ["11","22","33","44","11","55","66"]; // 원본배열
var uniqueArr = []; // 중복이 제거된 배열이 생성될 변수
$.each(valueArr, function(k, val){ 
    if($.inArray(val, uniqueArr) === -1){
        uniqueArr.push(val); 
    }
});
 
console.log(uniqueArr);
cs

 

+ Recent posts