📘
만들면서 배우는 svelte
  • 1. svelte 소개
  • 2. 개발환경 설정
    • 수업 코드 및 문서 가이드 안내
    • 비주얼스튜디오 & REPL
    • 설치
  • 3. 컴포넌트 - 기본
    • 앱 구조 설명 : main.js, App.js, 폴더구조
    • 컴포넌트 기본 : 레이아웃 샘플 구성(여러 component 연동)
    • state
    • reactivity
    • 컴포넌트 통신방법용 기본 앱 코드
    • 컴포넌트 통신방법 1 : props
    • 컴포넌트 통신방법 2 : dispatch
    • 컴포넌트 통신방법 3 : context API
    • 컴포넌트 통신방법 4 : store
  • 4. 컴포넌트 - 템플릿 제어
    • {#if ...}
    • {#each ...}
    • bind
    • event
    • slot
    • lifecycle (생명주기)
  • 5. 스타일 및 효과
    • 동적 css 적용방법
    • transition : 화면전환
    • todo store 적용 3 : 컴포넌트에 store 연동
  • 6. 실습 1 - TODO 만들기
  • 7. 실습 2 - store를 통한 todo 리팩토링
  • 8. 라우터 - routify
    • 소개 & 설치
    • 라우팅 생성
    • 링크 생성
    • parameter 전달 및 받기
    • todo 서비스에 적용
  • 9. ajax 처리
    • fetch와 {#await ..} 적용
    • axios 적용
  • 10 . 기타
    • 경로 쉽게 적용하기
    • javascript 배열 조작 메서드
    • 화살표 함수
Powered by GitBook
On this page

Was this helpful?

  1. 10 . 기타

javascript 배열 조작 메서드

예제 data set

var goods = [
  {id:1, name:'A Goods', category:'a', price: 1000},
  {id:2, name:'B Goods', category:'b', price: 2000},
  {id:3, name:'C Goods', category:'c', price: 2500},
  {id:4, name:'D Goods', category:'a', price: 500},
  {id:5, name:'E Goods', category:'b', price: 10000},
  {id:6, name:'F Goods', category:'d', price: 5000}
];

map

: 원본 배열을 바탕으로 새로운 배열을 만들어 내는 메서드 입니다.

만약 위의 예제로 사용된 goods 데이터 중에서 상품의 이름만으로 이루어진 새로운 배열을 출력한다고 가정했을 때 그냥 for 문을 가지고 배열을 만들면 다음과 같습니다.

let names = []
for (var i=0; i < goods.length; i++ ) {
	names.push(goods[i].name)
}

console.log(names)

하지만 map을 이용하면 다음과 같습니다.

map과 화살표 함수를 함께 사용하면 그 효율이 정말 좋아지는 것을 알 수 있습니다. map을 사용하면 기존에 for 문을 상당부분 대체할 수 있는 유용한 메서드 입니다.

let names = goods.map(g => g.name)

filter

filter는 문자 그대로 필요한 값을 필터링 하는 메서드 입니다.

데이터 셋에서 price가 1000이상인 값만 추출해 보도록 하겠습니다.

이번에도 역시 매우 심플하게 새로운 배열을 만들어 내는 것을 볼 수 있습니다.

let goods2 = goods.filter(g => g.price > 1000)

find

find는 filter와 유사하지만 한가지 큰 차이점이 있습니다. 특정 조건을 만족하는 첫번째 값 만을 반환한다는 것입니다.

let goods3 = goods.find(g => g.name === 'B Goods')

spread

spread 는 배열을 쉽게 삽입하는데 사용하는 도구라고 보시면 되겠습니다.

let arr1 = [1,2,3]
let arr2 = [...arr1,4] // 1,2,3,4

let arr1 = [1,2,3]
let arr2 = [4,5]

let arr3 = [...arr1, ...arr2] // 1,2,3,4,5

// 객체일 경우 
const obj1 = {a: 1, b: 2}
const obj2 = {c: 3}
console.log({...obj1, ...obj2}) // {a: 1, b: 2, c: 3}

자바스크립트는 이외에도 forEach, reduce, every, some, 등 다양한 형태의 배열조작 메서드를 제공하고 있습니다. 이 강좌에서는 주제인 svelte를 너무 벗어나는 것 같아 이들에 대해서 자세히 다루지는 않았지만, 따로 배열조작 메서드를 좀 더 공부하신다면 유용하게 사용 가능할 것 같습니다.

Previous경로 쉽게 적용하기Next화살표 함수

Last updated 4 years ago

Was this helpful?

[만들면서 배우는 Svelte]
만들면서 배우는 svelte