리액트 스터디 6탄) map(), filter()

2022. 7. 12. 15:48·웹/리액트

리액트를 다루는 기술을 참고하여 기술하였습니다.


개발을 하다보면 반복되는 코드를 작성할때가 존재한다.

리액트에서는 for 반복문을 사용할수가 없기때문에 map() 함수를 사용해서 이를 효율적으로 관리하게 된다.

자바스크립트 배열의 map()함수

맵함수를 사용하기 위한 기본적인 형태는 다음과 같다.

배열.map(function(a){
return '12345'})

위와같이 입력하면 배열의 개수만큼 반복한다.

a라는 파라미터는 배열에 있는 자료를 앞에서 부터 하나씩 가져온다.

return문 안에 있는 것은 배열 a자료 a대신 array에 넣어줄 값을 반환해준다.

map의 반환값은 배열이다.

컴포넌트를 다시 쓰고 싶을때

{
배열.map(function(){
return(<컴포넌트>)});
}

이렇게 하면 계속해서 배열의 개수만큼 컴포넌트를 만들게 된다. 이때, 파라미터로 최대 2개를 보낼수 있다.

배열.map(function(a,i){

에서 a는 배열의 자료를 하나씩 받아오는것이고,

i는 반복문이 한번씩 돌때 0부터 1씩 늘게 되는 값을 반환한다.

key값을 포함한 map()함수

map()함수의 경우에는 맨앞에서 부터 하나씩 순차적으로 확인하고 비교하기 때문에 시간이 많이 걸리지만, key값을 가지면 한번에 접근할수 있기 때문에 빠르게 접근 가능하다.

이처럼 key값을 포함하게 map()함수를 넣기 위해서는 다음과 같이 코드를 작성한다.

<태그 key={키값}>{map돌때 받는값}</태그>

  • 키값은 유일해야 한다.

filter()

어떤 조건을 넣어주면, 그 조건에 해당되는 배열값만을 반환하게 한다.

즉 배열을 입력받고, 배열을 반환한다.

사용하는 코드는 다음과 같다.

const 배열1= [1,2,3,4,5,6]
const 배열2= 배열1.filter(배열1=> 배열1>6)


왜 filter이나, map과 같은 함수를 사용하는가?

그 대답은 리액트의 불변성을 지키기 위해서 이다.

불변성이 무었일까?


Uploaded by N2T

반응형

'웹 > 리액트' 카테고리의 다른 글

리액트 스터디 8탄) useMemo  (0) 2022.07.12
리액트 스터디 7탄) useEffect  (0) 2022.07.12
리액트 스터디 5탄) state  (0) 2022.07.12
리액트 스터디 4탄) props  (0) 2022.07.12
리액트 스터디 3탄) virtual DOM  (0) 2022.07.12
'웹/리액트' 카테고리의 다른 글
  • 리액트 스터디 8탄) useMemo
  • 리액트 스터디 7탄) useEffect
  • 리액트 스터디 5탄) state
  • 리액트 스터디 4탄) props
진ddang
진ddang
안녕하세요 진땅의 개발자 블로그 입니다. 피드백은 환영입니다. 깃헙 : https://github.com/it794613
    반응형
  • 진ddang
    맛동산이
    진ddang
  • 전체
    오늘
    어제
    • 분류 전체보기 (199)
      • 일기 그리고 목표 (1)
      • 웹 (20)
        • 리액트 (19)
      • 앱 (115)
        • Swift 문법 (15)
        • Swift (65)
        • SwiftUI (32)
        • 리액트 네이티브 (3)
      • CS (30)
        • 컴퓨터그래픽스 (8)
        • 운영체제 (6)
        • 네트워크 (16)
      • 알고리즘 (13)
        • 백준 (12)
        • 프로그래머스 (1)
      • 대외활동 (7)
        • ict한이음(2022.04) (2)
        • 멋쟁이 사자처럼 (5)
        • Apple Developer Academy (0)
      • 다양한 내용들 (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    dispatchqueue
    영남대
    composable architecture
    웹
    widgetkit
    멋쟁이사자처럼
    spritekit
    리액트
    ReactorKit
    운영체제
    c++
    SwiftUI
    컴퓨터그래픽스
    swift concurrency
    cs
    네트워크
    백준
    스유
    스위프트
    Protocol
    알고리즘
    Swift
    위젯킷
    멋사
    widget
    TCA
    uikit
    후기
    문법
    대외활동
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
진ddang
리액트 스터디 6탄) map(), filter()
상단으로

티스토리툴바