TIL_210310
오늘 배운 것
- Object.entries()
- 어려웠던 문제 : 코플릿 18번
- 어려웠던 문제 : 코플릿 20번
- 어려웠던 문제 : 코플릿 21번
Object.entries()
정의 : 객체가 가지고 있는 모든 프로퍼티를 키-값 쌍으로 배열 형태로 반환한다.
testobj = {
a: 1,
b: 2,
c: 3
}
Object.entries(testobj)
(3) [Array(2), Array(2), Array(2)]
0: (2) ['a',1]
1: (2) ['b',2]
2: (2) ['c',3]
코플릿
18번
function getAllButLastElementOfProperty(obj, key) {
let maybeArr = obj[key];
if(!Array.isArray(maybeArr) || maybeArr.length === 0) {
return [];
} else {
return maybeArr.slice(0, -1);
}
}
function getAllButLastElementOfProperty(obj, key) {
let maybeArr = obj[key];
if(!Array.isArray(maybeArr) || maybeArr.length === 0) {
return [];
} else {
return maybeArr.slice(0, -1);
}
}
웬만한건 이해했는데 원래 pop으로 풀려고 했더니 계속해서 원본 배열을 건드리면 안된다는 오류가 발생했다. 나중에 헬프데스크를 이용해서 알게 된 바로는 .....
이거 예전에 배웠던건데 ... pop은 원본 배열을 수정해버리고, slice는 원본 배열을 건드리지 않고 자체적으로 배열을 가지고 있는 너낌이다. 그래서 오류가 났던 pop을 slice로 수정하니까 바로 해결되었다.
21번
function mostFrequentCharacter(str) {
let obj = {};
let max = 0;
let maxStr = '';
let splitStr = str.split(' ');
let newStr = splitStr.join('');
for (let key of newStr){
if(obj[key]){
obj[key] += 1;
} else {
obj[key] = 1;
}
if (max < obj[key]){
max = obj[key];
maxStr = key;
}
}
return maxStr;
}
괜히 처음에는 이중반복문을 사용해서 풀었는데, 그렇게까지 복잡하게 생각할 필요가 없었다.
이건 이따가 또 복습해야지
Author And Source
이 문제에 관하여(TIL_210310), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ccrjun/TIL210310저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)