연습장

객체 정렬 본문

기타 로직/JavaScript

객체 정렬

js0616 2023. 8. 19. 18:21

처음엔 0단계 58번 문제를 풀때 객체를 value 로 정렬하고 풀어보려고 했다. 

https://js0616.tistory.com/77

 

그래서 다음과 같은 글을 발견하고  적용해 봤는데

 

const obj = {
    i: 5,
    c: 3,
    b: 9,
    m: 0,
};

// value로 오름차순 정렬
const out3 = Object.fromEntries(
    Object.entries(obj).sort(([,a],[,b]) => a < b? -1: 1 )
);
console.log(out3) // { m: 0, c: 3, i: 5, b: 9 }
// value로 내림차순 정렬
const out4 = Object.fromEntries(
    Object.entries(obj).sort(([,a],[,b]) => a > b? -1: 1 )
);
console.log(out4) // { b: 9, i: 5, c: 3, m: 0 }

https://zetawiki.com/wiki/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8_%EA%B0%9D%EC%B2%B4_%EC%A0%95%EB%A0%AC

 

자바스크립트 객체 정렬 - 제타위키

다음 문자열 포함...

zetawiki.com

 

 

let array = [1, 2, 3, 3, 3, 4]

let dic = {}
   
for (i of array){
    if(i in dic){
        dic[i] += 1
    }
    else {
        dic[i] = 1
    }
}

console.log(dic) // { '1': 1, '2': 1, '3': 3, '4': 1 }


// value로 오름차순 정렬
const dic3 = Object.fromEntries(
    Object.entries(dic).sort(([,a],[,b]) => a < b? -1: 1 )
);
console.log('dic3',dic3) // dic3 { '1': 1, '2': 1, '3': 3, '4': 1 }

// value로 내림차순 정렬
const dic4 = Object.fromEntries(
    Object.entries(dic).sort(([,a],[,b]) => a > b? -1: 1 )
);
console.log('dic4',dic4) // dic4 { '1': 1, '2': 1, '3': 3, '4': 1 }

 

정렬이 되지 않았다. 

 

array 를 다음과 같이 변경해보니

let array = ['a','b','a','b','a','c','b','a']
 

잘 반영되는것을 알 수 있다.

 

객체의 key 값이 '숫자' 일 경우 적용이 잘 안되는것으로 생각이 된다.

 

'기타 로직 > JavaScript' 카테고리의 다른 글

최대 공약수 구하기  (0) 2023.08.19
배열의 정렬 sort  (0) 2023.07.21
대문자 변환  (0) 2023.07.11
문자열 뒤집기  (0) 2023.07.10
문자열 시작 / 끝 확인  (0) 2023.06.25