5) 자바스크립트의 유용한 내부기능

멜론쿵야65 웹개발·2024년 3월 8일
0

모던자바스크립트

목록 보기
2/2

1. 배열 반복 매소드(forEach 와 map)

  • forEach(element,idex,array)
    : for..of문이랑 실행방법은 같음, 콜백함수로 어규먼트를 받음
  • arrowfunction으로 사용 가능
  • element: 배열의 값을 받을 변수
  • index: 배열로 받은 변수의 순서
  • array: element의 배열명 설정
  • map(element,idex,array)
    ; 콜백 함수가 리턴하는 값을 가지고 새로운 배열을 만들어 리턴
  • forEach와 기능은 같음
  • return값을 가짐
  • forEach vs map
  • 단순히 반복 작업을 하고 싶을떄는 forEach
  • 반복작업으로 새로운 배열을 얻고 싶을 때는 map
  • ex) forEach와 map의 예시
    const numbers = [1, 2, 3];
    
    number.forEach(function(element,index,array)
    numbers.forEach((element, index, array) => {
      console.log(element); // 순서대로 콘솔에 1, 2, 3이 한 줄씩 출력됨.
    });
    //forEach 메소드
    
    const twiceNumbers = numbers.map((element, index, array) => {
      return element * 2;
    });
    
    console.log(twiceNumbers); // (3) [2, 4, 6]
    //map 메소드

2. 배열 반복 메소드(filter, find)

filter
: 골백함수가 return하는 조건식이 true인 요소만 골라 새로운 배열 만들기(리턴하기)

  • map과 기능은 같다
  • filter의 콜백함수는 조건식으로 return한다.

find

  • filter와 같은데 , 값을 하나만 찾고싶을떄.
  • find와 반복횟수가 다를 수 있다 → 프로그램 효율 측면에서 좋을 수도?
  • 없는거 찾으면 undifine

3. 배열 반복 메소드 (some, every)

some

: 조건에 맞는 배열이 하나 이상이면 T

  • 하나 이상인지만 판단하기 떄문에 조건에 맞는 배열을 찾으면 바로 종료

every

: 배열이 모두 조건에 맞으면 T

4. 배열 메소드 (reduce)

numbers.reduce((acc,el,i,arr)+>{
	return nextActive;
}, initalAccValue

5. sort,reverse 메소드

sort()로 오름차순/내림차순 정렬하기

  • 아무런 아규먼트 없을 때: 유니코드 순서대로, 하지만 우리가 아는 순서대로는 안됨
  • numbers.sort((a, b) => a - b); //오름차순
  • numbers.sort((a, b) => b - a); //내림차순
  • sort는 원본 배열을 다시 재정렬하는거기 떄문에 되돌릴 수 없음

reverse 메소드

  • 마찬가지로 재정렬

6. map, set

Map

  • 이름으로 접근한다는 점에서 객체와 같지만
    메소드를 이용해서 값을 추가하거나 접근할 수 있따.
  • map메소드
    • map.set(key, value): key를 이용해 value를 추가하는 메소드.
    • map.get(key): key에 해당하는 값을 얻는 메소드. key가 존재하지 않으면 undefined를 반환.
    • map.has(key): key가 존재하면 true, 존재하지 않으면 false를 반환하는 메소드.
    • map.delete(key): key에 해당하는 값을 삭제하는 메소드.
    • map.clear(): Map 안의 모든 요소를 제거하는 메소드.
    • map.size: 요소의 개수를 반환하는 프로퍼티. (메소드가 아닌 점 주의! 배열의 length 프로퍼티와 같은 역할)
  • map 메소드 예시
    // Map 생성
    const codeit = new Map();
    
    // set 메소드
    codeit.set('title', '문자열 key');
    codeit.set(2017, '숫자형 key');
    codeit.set(true, '불린형 key');
    
    // get 메소드
    console.log(codeit.get(2017)); // 숫자형 key
    console.log(codeit.get(true)); // 불린형 key
    console.log(codeit.get('title')); // 문자열 key
    
    // has 메소드
    console.log(codeit.has('title')); // true
    console.log(codeit.has('name')); // false
    
    // size 프로퍼티
    console.log(codeit.size); // 3
    
    // delete 메소드
    codeit.delete(true);
    console.log(codeit.get(true)); // undefined
    console.log(codeit.size); // 2
    
    // clear 메소드
    codeit.clear();
    console.log(codeit.get(2017)); // undefined
    console.log(codeit.size); // 0
    

Set

  • 배열과 비슷한데 set만의 메소드가 있음
  • 특징
  • set에는 개별 값에 바로 접근하는 방법이 없다
  • 중복값을 허용하지 않기때문에 중복값을 없앨때 사용한다 (무시한다)
  • map 메소드

0개의 댓글

관련 채용 정보