nodejs mysql join 데이터를 간편하게 json으로 정제하기

array.forEach 함수의 활용

forEach()는 오름차순으로 배열에 있는 각 요소에 대해 한 번씩 callback을 실행한다.
삭제 또는 비초기화된 인덱스 속성에 대해서는 호출되지 않는다.

callback은 다음 세 인수와 함께 호줄된다.
요소 값, 요소 인덱스, 순회될 배열

받아온 rows를 forEach 함수를 사용하여 정체

정제하는 함수

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function(err,rows){
var result = [];
var indexObject = {};
if(err){
console.log(err)
}else{
rows.forEach(function(row){

<!-- 해당 행의 id가 indexObject의 키값에 없을때 실행 -->
if(!(row.id in index)){
index[row.id]={
id: row.id,
name: row.name
};

<!-- 반환값에 추가 -->
result.push(index[row.id]);
}
해당 행이 인덱스에 있건 없건 간에 해당 인덱스의 내역을 체워줌
index[row.id].histories.push({
historyId:row.historyId,
historyName:row.historyName
});
})
console.log(result);
}
}

Neural Network의 기본 개념 angular safe navigation operator를 활용한 한전한 null 값 출력하기

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×