Xeros
(Xeros)
1
// Common
const covid19 = [
{'0125': 426}, {'0126': 343}, {'0127': 547}, {'0128': 490},
{'0129': 460}, {'0130': 443}, {'0131': 338}, {'0201': 299}
]
// 3-1
// 1월 25일부터 2월 1일까지의 누적 확진자 수와 일 평균 확진자 수를 구하시오.
console.log(covid19[0][0]);
결과값이 undefined가 나옵니다… 보니까 출력값을 covid19[0]["0125"]
이런식으로 하드코딩하면 나오긴 하는데… 사실 이게 근본적인 해결방법은 아닐것같다보니 구체적으로 저런 배열안의 객체의 값을 꺼낼 때 어떤 방식을 사용해야하는지 궁금합니다.
Xeros
(Xeros)
2
let keys = covid19.map(c => Object.keys(c)[0]);
let values = covid19.map(c => Object.values(c)[0]);
자문자답합니다…
3개의 좋아요
vini
(윤빈)
5
Object.keys(), Object.values() 를 두번씩 돌리는것도 방법이지만, Object.entries()를 쓰는 방법도 있습니다.
const covid19 = [
{'0125': 426}, {'0126': 343}, {'0127': 547}, {'0128': 490},
{'0129': 460}, {'0130': 443}, {'0131': 338}, {'0201': 299}
]
const [ keys, values ] = covid19.reduce((acc, object) => {
const [ keyArr, valueArr ] = acc;
//키가 한개이상일 수 도 있을까 싶어서..
for ( [ obj_key, obj_value ] of Object.entries(object) ) {
keyArr.push(obj_key);
valueArr.push(obj_value);
}
return acc;
}, [[], []]);
1개의 좋아요