Javascript는 Object에 대해서는 따로 sorting method를 지원하지 않는다. 따라서 몇 개의 단계를 거쳐서 sorting을 진행해야 되는데, 찾아본 여러 방법 중에 가장 간단한 코드를 들고왔다.
var keywordCount = { '사과': 3, '바나나': 1, '오렌지': 5 }
// 내림차순 정렬
let sorted = Object.entries(keywordCount).sort((a, b) => b[1] - a[1]);
var topthree = []
for(let element of sorted) {
topthree.push(element[0])
console.log(element[0]+ ": " + element[1]);
}
console.log(topthree)
>>> 오렌지 : 5
>>> 사과 : 3
>>> 바나나 : 1
>>> ['오렌지', '사과', '바나나']
오름차순 정렬을 진행하고 싶다면 다음과 같은 코드를 따르면 된다. a[1] - b[1] 만 바꿔주면 된다.
var keywordCount = { '사과': 3, '바나나': 1, '오렌지': 5 }
// 오름차순 정렬
let sorted = Object.entries(keywordCount).sort((a, b) => a[1] - b[1]);
var topthree = []
for(let element of sorted) {
topthree.push(element[0])
console.log(element[0]+ ": " + element[1]);
}
console.log(topthree)
>>> 바나나 : 1
>>> 사과 : 3
>>> 오렌지 : 5
>>> ['바나나', '사과', '오렌지']
이 외에도 다른 옵션들을 찾아보고 싶다면 다음 링크를 참고하는 것을 추천한다. (역시 갓택 오버플로우)
'개발공부 > 개발' 카테고리의 다른 글
[python] 파이썬으로 알파벳, 대소문자, 숫자 필터링하기 (0) | 2021.06.26 |
---|---|
Git 초기 설정 - 로컬에서 UserName과 이메일 계정 등록하기 (0) | 2021.06.24 |
[python] 'ord' method를 사용해서 character를 정수로 나타내는 방법 (0) | 2021.05.19 |
[algorithm] 시간 복잡도 계산 방법 + 표기법 (0) | 2021.05.13 |
Tree Traversal - Pre-order, In-order, Post-order (0) | 2021.03.02 |