티스토리 뷰

짝수의 합

function solution(n) {

  let tot;
  for (let i = 1; i <= n; i++) {
    if(i%2 == 0){
      tot+=i
      console.log(i);
    }
  }
  return tot;
}
console.log(solution(10));

여기서 NaN이 뜬이유

숫자로 초기화를 안해줬기 때문

이런 곳에서 부족함이 들어난다.

당연한걸 안했잖아

초기화 공부 시작

 

변수

자료형을 담는 메모리공간이다. 담아야 하는 값에 따라 그 크기가 달라진다.
자바스크립트는 변수 선언할 떄 자료형을 지정하지 않기 때문에 초기화 하는 값에서 최초 메모리 공간이 설정되는데
이 때 초기화를 잘해주어야 한다.
정확한 자료형으로 메모리 공간을 확보한다는 의미이기 때문이다.
// 숫자 타입 초기화
let a = 0;
// 문자 타입 초기화
let b = null;
// 배열 타입 초기화
let c = [];
// 객체 타입 초기화
let d = {};

 

 

 

배워야 할 부분


function solution(n) {
    var answer = 0;

    for(let i=2 ; i<=n ; i+=2)
        answer += i;

    return answer;
}

반복문을 2개씩 늘릴수 있다는 생각은 왜 항상 못하지

왜 1씩 늘어나고 1이나0부터 시작해야하고 1씩 늘어나야 된다고 생각하지..

여기서 하나 또 배워간다 

고정관념에 틀어박혀 있으면안된다..

 


 

배열의 평균값(소수점 .0또는 .5로 나타내기)

function solution(numbers) {
  let tot = 0;
  for (let i = 0; i < numbers.length; i++) {
    tot +=numbers[i]
  }
  return (tot/numbers.length).toFixed(1);
}
console.log(solution([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]));

tofixed

  - 숫자를 고정 소수점 표기법으로 표시합니다.
  - 소수점 이하가 길면 숫자를 반올림하고, 짧아서 부족할 경우 뒤를 0으로 채울 수 있습니다.

 

 

 

 

배워야 할 부분


function solution(numbers) {
    var answer = numbers.reduce((a,b) => a+b, 0) / numbers.length;
    return answer;
}

 

reduce()

  - 배열의 각 요소에 대해 주어진 reducer함수를 실행하고, 하나의 결과값을 반환한다.
  - reduce함수는 순서대로 네 개의 인자를 가진다.
    • 누산기(acc)
    • 현재값(cur)
    • 현재 인덱스(idx)
    • 원본 배열(src))
  - reduce함수의 반환값은 누산기에 할당되고,
    누산기는 순회 중 유지되므로 결국 최종 결과는 하나의 값이 된다.

  - initialValue
    • callback의 최초 호출에서 첫 번째 인수에 제공하는 값이다.
    • 위에서 보면 a+b,다음이 initailValue를 지정하는 곳이다.
    • 초기 값을 제공하지 않으면 배열의 첫 번째 요소를 사용한다.
    • 빈 배열에서 초기값없이 reduce()를 호출하면 오류가 발생합니다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함