Week3 - JavaScript (14)

김서하·2021년 5월 21일
0

Westudy

목록 보기
19/25
post-thumbnail

20강) 4.1절 배열

  • 배열 : 여러 개의 변수를 한 번에 선언해 다룰 수 있는 자료형
  • 요소 : 배열 내부에 들어있는 값
    [요소, 요소, 요소,... ,요소]
  • 인덱스 : 요소의 순서
    배열[인덱스]
    배열.length : 배열 내부에 들어있는 요소의 개수 확인

배열.push(요소) : 배열 뒷부분에 요소 추가

배열.splice(인덱스, 제거할 요소의 개수) : 배열의 특정 인덱스에 있는 요소 제거

배열.splice(인덱스, 0, 요소) : 배열의 특정 위치
에 요소 추가

배열.indexOf(요소) : 배열 내부에서 특정 값의 위치 찾기

indexOf() + splice() 활용 : 값으로 배열의 요소 제거

21강) 스택, 힙, 비파괴적 처리, 파괴적 처리

  • 스택(stack) : 기본 자료형과 주소 등을 저장하는 메모리 공간(잘 쌓는 공간)
    • 기본 자료형은 직접!
    • 복합 자료형은 그 주소(address)!
  • (heap) : 복합 자료형을 저장하는 메모리 공간(대충 큰 것들을 던져서 쌓는 공간)
    • 복합 자료형의 본체가 저장!
  • 주소(address) : 저장된 자료의 위치
  • 레퍼런스한다 : 스택의 주소가 힙의 자료를 가리키는 것
  • 레퍼런스 변수 : 스택에 저장된 것 중에 주소가 저장된 변수
  • 비파괴적 처리 : 처리 후에 원본 내용이 변경X
  • 파괴적 처리 : 처리 후에 원본 내용이 변경O
  • const의 제한 : const -> 스택에 있는 값 변경할 때 오류!!!
    • 힙에 있는 레퍼런스된 복합 자료형을 조작하는 것에는 문제X

22강) forof forin for반복문

반복문

  • for in 반복문

배열의 인덱스를 기반으로 반복할 때

for (const 인덱스 in 배열) {
   문장
 }
  • for of 반복문

배열의 을 기반으로 반복할 때

for (const 요소 of 배열) {
   문장
 }
  • for 반복문

횟수를 기반으로 반복할 때

for (let i = 0; i < 반복 횟수; i++) {
   문장
 }

23강) while반복문

  • while 반복문

조건을 기반으로 반복할 때

while (불 표현식) {
   문장
}
  • break 키워드

조건문이나 반복문 벗어날 때

while (true) {
  
} break
  • continue 키워드

반복문 안의 반복 작업을 멈추고 반복문의 처음으로 돌아가 다음 반복 작업 진행

24강) 4장 마무리 + 피라미드 예제

let output = 0
for(let i = 1; i <= 100; i++){
  output += i
}
console.log(`1~100까지 숫자를 모두 더하면 ${output}입니다.`
  *
  **
  ***
  ****
  ******
  *******
  ...

let output = ' '

for(let i = 1; i < 10; i++) {
  for(let j = 0; j < i; j++) {
    output += '*'                  
  }
  output += '\n'
}

console.log(output)
      *
     ***
    *****
   *******
  *********
 ***********
     ...

let output = ' '

for(let i = 1; i < 15; i++) {
  for(let j = 15; j > i; j--) {
    output += ' '                  
  }
  for(let k = 0; k < 2 * i - 1; k++){
    output += '*'
  }
  output += '\n'
}

console.log(output)
      *
     ***
    *****
   *******
  *********
 ***********
  *********
   *******
    *****
     ***      
      *

let output = ''
const size = 5

for(let i = 1; i <= size; i++) {
  for(let j = size; j > i; j--) {
    output += ' '
  }
  for(let k = 0; k < 2 * i - 1; k++) {
     output += '*'
  }
  output += '\n'
}

for(let i = size -1; i > 0; i--) {
  for(let j = size; j > i; j--) {
    output += ' '
  }
  for(let k = 0; k < 2 * i - 1; k++) {
     output += '*'
  }
  output += '\n'
}
console.log(output)

25강) 5.1절 함수 기본

함수

  • 함수 호출 : 함수를 사용하는 것

  • 매개 변수 : 함수를 호출할 때 괄호 내부에 넣는 여러 가지 자료

  • 리턴값 : 함수를 호출해서 최종적으로 나오는 결과

function 함수(매개변수) { 

  return 리턴값
}
const sum = function (limit) {
  let output = 0
  for(let i = 1; i <= limit; i++){
    output += i
  }
  return output
}
console.log(`합은 ${sum(10)}`)

26강) 함수 기본 예제

function 함수(매개변수){
  let output = 초기값
  처리한다
  return output
}

윤년을 확인하는 함수

function isLeapYear(year){
  return (year % 4 === 0) && (year % 100 !== 0) 
  || (year % 400 === 0)
}

console.log(`2020년은 윤년일까? === ${isLeapYear(2020)}`)
console.log(`2010년은 윤년일까? === ${isLeapYear(2020)}`)

A부터 B까지 더하는 함수

function sumAll(a, b){
  let output = 0
  for(let i = a; i <= b; i++){
    output += i
  }
  return output
}

console.log(`1부터 100까지의 합: ${sumAll(1, 100)}`)
console.log(`1부터 500까지의 합: ${sumAll(1, 500)}`)

최솟값 구하는 함수

function min(array){
  let output = array[0]
  for(const item of array){
    if(output > item){
      output = item
    }
  }
 return output
}

const testArray = [52, 273, 32, 103, 275, 24, 57]
console.log(`${testArray} 중에서`)
console.log(`최솟값 = ${min(testArray)}`)
profile
개발자 지망생 서하입니당

0개의 댓글