연습장
객체 정렬 본문
처음엔 0단계 58번 문제를 풀때 객체를 value 로 정렬하고 풀어보려고 했다.
그래서 다음과 같은 글을 발견하고 적용해 봤는데
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 }
자바스크립트 객체 정렬 - 제타위키
다음 문자열 포함...
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 |