강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

ambacc244님의 프로필 이미지
ambacc244

작성한 질문수

함수형 프로그래밍과 JavaScript ES6+

Array map 관련 질문

해결된 질문

작성

·

173

0

강의를 들으면서 강의 내용을 사용해 보고 싶어서 JS를 사용해서 알고리즘 문제를 가끔 풀어보는데 의문이 생겨 질문 남깁니다. 

let n = 9;

let graph = Array(n).fill(Array(n).fill(0)));

위처럼 정의했을 경우 graph[0][1] = 1을 하면 graph[0 ~ 9][1] 모든 값이 1로 바뀝니다. 

하지만 

let graph = Array(n).fill(0).map(e => Array(n).fill(0));

로 정의하였을때는 graph[0][1] = 1을 하면 graph[0][1] 값만 1로 바뀝니다. 

혹시 그 이유를 알수 있을까요? 제가 나름 인터넷에 찾아봤는데 정확한 이유를 찾지못하여 답답해 하던중 질문 남깁니다. 

답변 1

1

MDU 유인동님의 프로필 이미지
MDU 유인동
지식공유자

let n = 9;

let graph = Array(n).fill(Array(n).fill(0));

graph[0] == graph[1]; // true

let graph2 = Array(n).fill(0).map(e => Array(n).fill(0));

graph2[0] == graph2[1]; // false

map 안에서 Array(n).fill(0) 이 여러번 만들어지고 있습니다. :)

ambacc244님의 프로필 이미지
ambacc244

작성한 질문수

질문하기