new Array(), Array.join()의 차이

new Array(), Array.join()의 차이

비전공자가 IT개발자로, 커리어전환기6

new Array(), Array.join()의 차이

자바스크립트 알고리즘을 눈물로 끝내고 나서…(다시보면 풀지못하는 문제가 너무 많다)
드디어 코언즈시작한다.
코언즈는 까리한 프로그램을 이용하여 제출해야하는 과제인데, git bash와 Visual Studio Code이다.
둘 다 제코베에서 건들여본적이 있어서 어떻게 사용하는 지 대충…정말 대강 조금 알고 있다
코언즈가 자바스크립트 알고리즘보다 더 쉽게 느껴진다.
왜냐면 콘솔로그 찍으면 바로 답이 나오니까!

이거 빨리 끝내고 후딱 테스트빌더하고 현재 진행중인 트위틀러로 넘어가야지..

갈..길..이..보이지…않아…아직도…하 멀다 멀어

누군가 그랬었지, 행복은 멀리 있는 것이 아니라고
ㅈㄴ멈
어어어어어어어어어엄청 멀리있다고

내게 남은 과제도…머어어어얼리




TWIL

  • Array 길이 확인하기
    겁나 베이직한 개념인데 내가 이해를 못해서 적어봄.
    아래 문제에서 ‘답’에 들어갈 답은?
1
2
let tenEmptyElementArray = new Array(10);
expect(tenEmptyElementArray.length).toBe('답');

정답은 아래와 같다.

1
2
let tenEmptyElementArray = new Array(10);
expect(tenEmptyElementArray.length).toBe(10);

콘솔로그를 찍어보면

나는 빈배열이니까 배열의 길이는 0이라고 생각했는데
왜 10인걸까?
일단 new는 class를 만드는 명령어이다.

1
2
3
4
5
6
Array(숫자) //=> 이거는 숫자만큼 빈배열이 만들어지는 것.
//만약
let arr = new Array(3)
//위와 같다면 arr는 아래와 같다
arr = [ , , ]
//=>빈칸이 3개 생기는 것임. empty * 3

따라서 아까는 괄호안에 숫자 10이 있었으므로 빈칸이 10개가 생겨서 length도 10임.
더불어서

1
2
3
let arr2 = new Array(1,2,3) //=>이렇게 하면 arr2는 어떻게 구성되어 있을까?
//정답은?
arr2 = [1,2,3]

더 나아가 Array.join을 알아보자.

1
2
3
4
5
6
let arr3 = new Array(3).join(); 
//=> 어떻게 될까?
arr3 = [ ]
//=>빈칸 3개가 합쳐진 것임. 헷갈리므로 숫자를 넣어서 보면 이해하기 편하다. 중요한 점은 join을 하는 순간 배열이 아님! string임!
let ans = new Array(1,2,3).join();
ans = '123'

만약 join안에 숫자가 있다면?

1
2
let ans2 = new Array(1,2,3).join(0);
ans2 = '10203' //=>3뒤에는 0이 붙지 않는다! 숫자들 사이에만 join안의 string이 들어감!

Comments