[D+84]드림코딩by엘리

ga_ding·2022년 3월 3일
0

TIL

목록 보기
25/55

오늘도 유튜브를 통해 문법을 공부해봤다.

일단 Arrow function를 공부해봤다.
이름이 없는 간결한 함수, 한줄인 경우의 함수 일 때 Arrow function을 사용할 수 있다. (배열이나 리스트에 자주 사용)

let add = function (a,b) {
  return a+b;
  }
let add = (a,b) => a+b;

위 두 코드는 같다. 만일 두줄 이상의 코드라면 { }와 return 값을 할당 해줘야 한다.

배열함수

object는 비슷한 데이터의 자료를 모아두는 것, 서로 연관된 특징과 행동을 묶어두는 것, 자료구조는 이 object를 모아두는 것을 의미한다.

배열의 포인트는 인덱스! (0부터 시작하는 것)

  1. 배열의 선언
1. const arr1 = new Array();
2. const arr2 = [1,2];
  1. 인덱스
const fruits = ['사과','바나나'];
console.log(fruits);
console.log(fruits.length);
console.log(fruits[0]);
console.log(fruits.length -1); >>제일 마지막 인덱스 출력
  1. 반복문
a. for (let i = 0; i < fruits.length; i++) {
    console.log(fruits[i])
 } 
b. for (let fruit of fruits) {
    console.log(fruit);
 }
c. fruits.forEach((fruit) => console.log(fruit));
>> forEach는 value, index, array를 반복시킬 수 있음
  1. 넣고 빼고 복사

push: 끝에 추가하기

fruits.push('사과','딸기');
console.log(fruits);

pop: 끝에서 제거하기

fruits.pop();
console.log(fruits);

unshift: 앞에서 넣기

fruits.unshift('딸기','레몬');
console.log(fruits);

shift: 앞에서 빼기

fruits.shift();
console.log(fruits);

다만, unshift와 shift는 pop, push보다 느리다.
당연히 배열의 길이가 길면 길수록 더 느려진다.

splice : 지정된 포지션 복사

fruits.splice(1,1);
console.log(fruits);
fruits.splice(1,1, '사과','수박')
console.log(fruits);
>1번부터 1개만 지우고 사과와 수박을 추가해줘

시작하는 인덱스 번호와 몇개를 지울건지 작성하면 됨 다만 몇개를 지울 건지 말하지 않는 다면 지정한 인덱스부터 모든 데이터를 삭제함

두가지 배열 묶기 (concat)

const fruits2 = ['모과','코코넛']
const newFruits=  fruits.concat(fruits2);
console.log(newFruits)
  1. 검사 (find Index)
console.log(fruits.indexOf('사과')); 
>> 몇번째에 있는지 출력 
(중복된다면 첫번째 출력) (배열안에 해당하는 값이 없다면 -1로 출력됨) 

console.log(fruits.lastIndexOf('사과')); 
>> 마지막에 있는 인덱스 출력

console.log(fruits.includes('수박'));   
>> true / false로 출력

배열함수 quiz

// Q1. 배열을 string으로 만드는 join. (구분자)를 넣지 않으면 자동으로 ',' 생성
{
    const fruits = ['apple', 'banana', 'orange'];
    const result = fruits.join();
    console.log(result);
  }
  
  // Q2. string을 배열로 만드는 split (구분자를 전달하지 않으면 문자열 전체가 배열1개로 되어버림. 배열의 사이즈도 만들 수 있음)
  {
    const fruits = '🍎, 🥝, 🍌, 🍒';
    const result = fruits.split(',');
    console.log(result);
  }
  
  // Q3. 배열 이 모양처럼 만들기: [5, 4, 3, 2, 1] 
   >>reverse는 배열과 return 전부 바꿔버림
  {
    const array = [1, 2, 3, 4, 5];
    const result = array.reverse();
    console.log(result);
  }
  
  // Q4. 첫번째와 두번째 요소 없이 새로운 배열만드는 slice (2번재부터 5번째 전까지 _5번째는 배제됨)
  >> splice와 차이점은 splice는 배열 자체를 수정함 
  {
    const array = [1, 2, 3, 4, 5];
    const result = array.slice(2, 5);
    console.log(result);
  }

나는 특히 자바스크립트 8-10편이 특히나 더 배울점이 많은 강의였다. 백준 문제풀이를 하면서 자바스크립트 기본 문법이 부족하다는 것을 느낄 때가 많았는데 그 때 풀리지 않았던 문법들을 이번 강의를 통해서 해결할 수 있었다.

profile
大器晩成

0개의 댓글