map 2

array.map 안에서의 async/await 사용하기

아래 코드와 같이 한 리스트 안의 데이터를 map으로 loop 돌면서 각 item의 데이터를 가지고 박스번호를 가지고오는 api를 호출하였다. 잘 될것이라고 예상하였으나 async/await을 사용하였음에도 불구하고 기다리지않고 바로 다음 loop를 수행하는 바람에 _inRow라는 데이터에 boxNo가 undefined로 찍히는 현상이 발생하였다. breakpoint를 찍어보면서 디버깅 해보니 await문을 기다리지 않고 map을 빠져나가는 바람에 boxNo에 그렇게 찍힌것으로 확인되어 구글링을 해보았다. body.map(async (item) => { ------생략------- } else if (msg == '박스 분할') { //2개담기 const res = await OrderReleaseSer..

Web/javascript 2022.05.01

Array - map과 reduce

1. map => 배열.map((요소, 인덱스, 배열) => { return 요소 }); map은 해당 Array를 반복적으로 돌면서 각 요소들에 대해 callbackFunc를 정할 수 있다. 새로운 객체가 생성되어 리턴되고 기존 배열의 크기를 그대로 반환하기 때문에 아래 코드와 같이 조건에 맞지 않을 경우 해당 인덱스의 값은 undefined를 리턴하게 된다. var mapTest = [1,2,3,4,5] var tmp = mapTest.map(v => { if(v>3){ return v } }) //크기를 그대로 반환 //[undefined, undefined, undefined, 4, 5] 2. reduce => 배열.reduce((누적값, 현잿값, 인덱스, 요소) => { return 결과 }, ..

Web/javascript 2021.02.02