WEB/Java Script

[Java Script] rest / 특정값만 제외하고 가져온다/ 함수의 파라미터의 개수가 몇개일 지 모를 때 사용

자바칩 프라푸치노 2021. 4. 24. 01:42
const purpleCuteSlime = {
  name: '슬라임',
  attribute: 'cute',
  color: 'purple'
};

// 객체에 비구조화 할당을 하면서 rest를 써주었다.
const { color, ...rest } = purpleCuteSlime;
console.log(color);
// rest안에 color을 제외한 값들이 들어가있다.
// rest이름은 바꿀 수 있다.
console.log(rest);

 

배열에서의 rest

const numbers = [0, 1, 2, 3, 4, 5, 6];

const [one, ...rest] = numbers;

console.log(one);
console.log(rest);

배열에서의 rest는 맨 마지막에 와야하고

제외한 것들을 모아서 가져온다.


함수 파라미터에서의 rest

function sum(a, b, c, d, e, f, g) {
  let sum = 0;
  if (a) sum += a;
  if (b) sum += b;
  if (c) sum += c;
  if (d) sum += d;
  if (e) sum += e;
  if (f) sum += f;
  if (g) sum += g;
  return sum;
}

const result = sum(1, 2, 3, 4, 5, 6);
console.log(result);

함수의 파라미터가 몇개가 될 지 모르는 상황에서 rest 파라미터를 사용하면 매우 유용하다

 

function sum(...rest) {
  return rest;
}

const result = sum(1, 2, 3, 4, 5, 6);
console.log(result);

result 가 가르키고 있는 것은 함수에서 받아온 파라미터들로 이루어진 배열이다.

function sum(...rest) {
  return rest.reduce((acc, current) => acc + current, 0);
}

const result = sum(1, 2, 3, 4, 5, 6);
console.log(result); // 21

2021.04.23 - [WEB/Java Script] - [Java Script] 배열 내장함수 / reduce : 배열안에 알파벳이 몇개씩 들어있는지 확인하기

 

[Java Script] 배열 내장함수 / reduce : 배열안에 알파벳이 몇개씩 들어있는지 확인하기

const alphabets = ['a','a','a','b','b','c','d','d','e'] const counts = alphabets.reduce((acc, current)=> { if(acc[current]){ // acc안에 current가 있냐 acc[current] += 1; } else { acc[current] = 1; }..

sso-feeling.tistory.com


 

728x90