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
27function(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);
}
}
Comments