spread & rest 파라미터 연습문제

혜진·2022년 11월 26일
0
post-thumbnail

spread & rest 파라미터 연습문제

1번 문제

spread 문제이다.
var c= [...b, ...a]; 로 가져온 값은
김 밥, 123 이다.

추론한 답: 김 밥, 123

반은 맞고 반은 틀렸다
'김', '밥' 따옴표가 들어갔어야 맞고, 1,2,3 역시 모두 쉼표로 분리되어 하나의 어레이 안에 ['김','밥',1,2,3] 이 출력된다.

2번 문제

console.log([[...a]...[...b]][1]) 의 값은
1,2,3,you,are 중 1번째 값인 you 로 추론된다.
추론한 답: you


a 안에 있는 1 2 3 을 따로 분리해 순서를 세지 않도록 주의

3번 문제

파라미터의 default 값을 잘 봐야한다.
함수(3)이라고 출력되어있다.
그렇기에 a=3; b= 3*2;

console.log(a+b);
3+6=9
추론한 답:9

술술 벨로그에는 쓰고 있지만 대가리 빠개지는 줄 알았다
그래도 포기는 없따
왜냐면 요즘 자바스크립트 껍질 쪼끔씩 알겠는 너낌
그래도 아직 멀었다는 걸 안다 훌찌럭

4번 문제

undefined면 a= 5의 값으로 적용해서

a= 5; b= a * 2;
5+10= 15
추론한 값: 15

5번 문제

어려울 것 같다고 생각했지만 의외로 빨리 해결했던 예제
어레이( 1,2,3,4,5 )를 [ ] 형태로 만들어줘야 하니
함수 옆에 ...을 사용하는 rest 를 사용하면 되겠다는 생각이 들었다

newArray 를 parameter 'a'를 이용해 가져오면 array 형태로 copy & paste 가 되었을 1,2,3,4,5를
return 으로 뱉어버리자

function 어레이( ...a ){
return a;
}

6번 문제


이 문제는...... 정말 아까웠다
다 왔는데! 다 풀었는데 한 걸음을 못 가서 답을 구하지 못했다
뻘짓이란 뻘짓은 다 했고, 그 모든 뻘짓이 아까워서라도 무조건 내 힘으로 해내겠다 했는데ㅠㅠ 너무 아쉬워서 게시판에 내가 한 모든 뻘짓을 코드로 올리고
'제가 이러이러한 뻘짓을 했는데 어떤 부분을 생각을 달리 하면 됐을까요? 다 왔는데 한 걸음을 못 떼서 답을 못 냈어요' 글까지 올렸던 ㅋㅋ큐ㅠㅠㅠ


감사합니다 ( - - )( _ _ )( - - )( _ _ )

내가 짠 뻘짓들

  1. function num( ...a ){
    Math.max(a);
    }
    num( 2,3,4,5,6,1,3,2,5,5,4,6,7 );
  1. function num( ... a){
    Math.max(console.log(a));
    }
    num( 2,3,4,5,6,1,3,2,5,5,4,6,7 );
  1. function num( ...a ){
    Math.max(a);
    console.log(a);
    }
    num( 2,3,4,5,6,1,3,2,5,5,4,6,7 );
  1. function num( ...a ){
    console.log(a);
    Math.max(...a);
    }
    num( 2,3,4,5,6,1,3,2,5,5,4,6,7 );

등등 더 많다..... ^ㅠ^
진짜 다 왔는데 제대로 이해를 100퍼센트 못 한 상태에서 때려맞추다 보니 이렇게 되는 것 같다. 많이 해보는 수 밖에 !

예제에는
var numbers= (숫자들 ~~~)
있었지만 나는 함수로 쓰는 방법을 선택했다.

rest 키워드를 사용해 array 형태로 가져오며 copy & paste 해온다.
그리고 Math.max()에서 spread operator 로 압축을 풀어 최대 수를 구할 수 있도록 한다.

function 최댓값( ...a ){
console.log(Math.max( ...a ));
}

최댓값(2,3,4,5,6,1,3,2,5,5,4,6,7)

을 하면
7이 출력될 것이다

이해하고 나면 어렵지 않은데 아직 이해가 완전히 안돼서 자꾸 틀리는 것 같다 시간이 약이야 화이팅이야아아

7번 문제

a 라는 파라미터로 bear 를 가져와
console.log 안에
spread operator 로 가져와 한 글자씩 분리해 ( b e a r ) .sort 를 사용해 정렬한다.

function 정렬(a){
console.log( ...a ).sort( );
}
정렬('bear')

profile
매일 하는 것보다 중요한 건 그럼에도 불구하고 그만두지 않는 것

0개의 댓글