240409 TIL_JS 문법 익숙해지기 (filter, 화살표 함수, 스프레드 문법)

미밍·2024년 4월 9일
0

우당탕탕 개발 일기

목록 보기
11/108

Computer Science 핵심쏙쏙
1-7강) 자료의 저장과 표현

프로그래머스 코딩테스트 입문
짝수 홀수의 개수

자바 핸드북
part 04. 함수



[더 공부해야 할 다른 사람의 문제 풀이]

  • 짝수 홀수의 개수, 내가 푼 문제 풀이

function solution(num_list) {
let a = 0;
let b = 0;
for (let i = 0; i < num_list.length; i++) {
if (num_list[i] % 2 === 0) {
a++;
} else {
b++;
}
}
return [a, b];
}

길다...

function solution(num_list) {
var answer = [0,0];
for(let a of num_list){
answer[a%2] += 1
}
return answer;
}

이렇게 간단하게 풀 수 있다는 것을 많이 배운다!

  • 짝수 홀수의 개수, 배열로 바로 리턴, filter()

function solution(num_list) {
return [
num_list.filter((num) => num % 2 === 0).length,
num_list.filter((num) => num % 2 === 1).length,
];
}

[복습]

  • 화살표 함수

let age = prompt("나이를 알려주세요.", 18);
let welcome = (age < 18) ?
() => alert('안녕') :
() => alert("안녕하세요!");
welcome();

  • 나머지 매개변수...
    : 매개변수 목록을 배열로 가져오는 것

function f(arg1, ...rest, arg2) { // ...rest 후에 arg2가 있으면 안 됩니다.
// 에러
}

나머지 매개변수는 항상 마지막에 있어야 합니다.
나머지 매개변수는 남아있는 인수를 모으는 역할을 하므로 아래 예시에선 에러가 발생합니다.

  • 스프레드 문법
    : 배열을 통째로 매개변수에 넘겨주는 것

let arr = [3, 5, 1];
let arr2 = [8, 9, 15];
let merged = [0, ...arr, 2, ...arr2];
alert(merged); // 0,3,5,1,2,8,9,15 (0, arr, 2, arr2 순서로 합쳐집니다.)

나머지 매개변수와 스프레드 문법은 아래의 방법으로 구분

...이 함수 매개변수의 끝에 있으면 인수 목록의 나머지를 배열로 모아주는 '나머지 매개변수’입니다.
...함수 호출 시 사용되거나 기타 경우엔 배열을 목록으로 확장해주는 '스프레드 문법’입니다.

profile
프론트앤드; Frontend

0개의 댓글