var member = {
Jan: { item: { title: 'JS북', amount: 100 }, point: [10, 20, 30] },
Feb: { item: { title: 'JS북', amount: 200 }, point: [40, 50, 60] },
};
//배열의 값을 누적할 변수 설정
var result = 0;
//reduce 메소드에서 사용할 콜백 함수
function reduceCallback(prev, curr) {
return prev + curr;
}
function show(param) {
for (var type in param) {
if (typeof param[type] === 'object') {
ifArray(param[type]);
} else {
console.log(type, param[type]);
}
}
}
//param[type]이 배열인지를 확인하는 함수
function ifArray(paramArray) {
if (Array.isArray(paramArray)) {
console.log(paramArray);
result = paramArray.reduce(reduceCallback) + result;
} else {
show(paramArray);
}
}
show(member);
//누적한 배열의 값을 출력
console.log(result);
확인 감사드립니다!
아래와 같이 함수를 분리해봤는데 맞을까요~?