ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JS] 배열에서 중복값 제거 / 오름차순 정렬
    JavaScript 2022. 6. 7. 13:31
    반응형
    SMALL
    배열 중복 제거 / 정렬
    • Set
    • indexOf()
    • includes()

     

     

     

    Set

    • Set객체는 중복을 제거한 값들의 집합이다.
    • set을 사용해 중복제거 후 배열형태로 변환해줘야 정상적으로 데이터를 확인 할 수 있다.
      • add : 중복된 값이 없을 경우 추가
      • delete: 값 삭제
      • has : 값 존재유무 확인
      • clear : Set내부의 모든값 삭제
      • size : 값의 수를 확인(length)
    let set = new Set(); // set생성
    
    ------------------------------------------
    const arrData = [1,2,3,1,2];
    const set = new Set(arrData);
    const uniqueArr = [...set]; // set객체를 배열형태로 저장해야 정상적으로 데이터가 출력됨.
    
    console.log(uniqueArr)
    
    // 1,2,3
    
    
    // 오름차순 정렬
    uniqueArr.sort(function(a,b) {
    	return a-b;
    });
    ------------------------------------------
    
    set.add(6);
    // 1,2,3,6
    
    set add(6) // 값이 존재하기 때문에 추가 안됨
    // 1,2,3,6
    
    set.delete(1)
    // 2,3,6
    
    set.has(6)
    // true
    
    set.clear();
    // Set(0) {}
    
    set.size;
    // 0

     

     

     

     

     

    forEach(), includes()

    • forEach() : 배열을 순회하면서, 배열의 원소들로 주어진 callback함수를 실행
    • includes() : 배열에 특정 값이 포함되는지 여부를 검사
    const dupArr = [1, 2, 3, 1, 2];
    
    let uniqueArr = [];
    dupArr.forEach((element) => {
        if (!uniqueArr.includes(element)) {
            uniqueArr.push(element);
        }
    });
    
    console.log(uniqueArr)
    // 1,2,3

     

     

     

     

    filter(), includes()

    • filter() : 특정조건에 부합하는 배열의 모든값을 배열형태로 리턴
    • includes() : 배열에 특정 값이 포함되는지 여부를 검사
    // 비교대상 문자열 변환
    let comparison = JSON.stringify(comparisonData)
    
    // 중복 제거
    let uniqueArr = []
    uniqueArr = tempData.filter(obj=>{
        return !comparison.includes(obj.name) || !comparison.includes(obj.phone);
    })
    
    
    if(uniqueArr.length < 1){ 
            alert("중복");
            return
        }

     

     

    indexOf(), filter()

    • indexOf() : 특정값이 처음으로 나타나는 index를 리턴
    • filter() : 특정조건에 부합하는 배열의 모든값을 배열형태로 리턴
    // 중복 제거
    uniqueArr(tempData) { 
        return tempData.filter((element, index) => tempData.indexOf(element) === index);
    },
    
    -------------------------------------------------------------------
    
    let tempData = [1,2,3,1,2];
    const uniqueArr = tempData.filter((element, index) => {
        return tempData.indexOf(element) === index;
    });
    // 1,2,3
    반응형
    LIST

    'JavaScript' 카테고리의 다른 글

    [JS] 배열 초기화(빈 배열)  (0) 2022.06.08
    [JS] 객체 내부의 key값 이름변경  (0) 2022.06.07
    [JS] replace 문자변환, 치환  (0) 2022.05.12
    [JS] 여러값 return  (0) 2022.05.06
    [JS] split() 문자열 분할  (0) 2022.05.03

    댓글

Designed by Tistory.