[JS] for문에서 객체 배열에 추가하기(초기화, JSON, Spread Syntax 사용)
캐떠린
ProblemJSON 데이터를 만들던 중 유저 수만큼 for문을 돌며 객체를 배열에 담고 확인해보니 배열에는 모두 같은 값의 객체가 들어가있었다. 문제가 발생한 코드는 아래와 같다.var user = new Object();var arrUser = new Array();for (var i=0; i Cause객체의 값을 변경하면서 배열에 추가할 때, 동일한 값만 배열에 들어갔던 이유는 객체의 참조(reference) 때문!JS에서 객체는 참조타입이므로, 동일한 객체를 여러 번 배열에 추가하면 동일한 참조가 들어가게 된다. 따라서 배열 내 모든 요소가 동일한 값으로 들어갔던 것. Solution따라서 객체를 배열에 추가하기 전에 객체를 복사하여 새로운 참조를 생성시킨 후, 배열에 추가해야 한다.또는 객체를 ..