개발공부/개발
[Javascript] Object를 value 값으로 간단하게 정렬해보기
so.py
2021. 5. 26. 16:39
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
>>> ['바나나', '사과', '오렌지']
이 외에도 다른 옵션들을 찾아보고 싶다면 다음 링크를 참고하는 것을 추천한다. (역시 갓택 오버플로우)
Sorting object property by values
If I have a JavaScript object such as: var list = { "you": 100, "me": 75, "foo": 116, "bar": 15 }; Is there a way to sort the properties based on value? So that I end up with list = {...
stackoverflow.com