Nomad Jay
디지털노마드 Jay
Nomad Jay
전체 방문자
오늘
어제
반응형
  • 어서오세용✋ (21)
    • 삽질후기👨‍🔧(Ko) (0)
    • 온라인수업후기💻(ko) (0)
    • Programming(ko,en) (15)
      • Python (0)
      • Django (0)
      • Flask (0)
      • Javascript (12)
      • Node.js (1)
      • Nest.js🐱 (1)
      • Typescript (0)
      • DataBase🛢 (0)
      • MySQL (0)
      • MongoDB (0)
      • 리눅스 (0)
      • Basic (0)
      • Computer Science💻 (0)
      • NetWork (0)
      • SelfCodeReview (0)
      • 스티브잡생각스⚙ (0)
      • Book Review📙 (1)
      • iOS (0)
      • Andoroid (0)
    • 잡다한인생이야기🕺 (2)
    • 우당탕탕 유럽 살이 (4)
      • 여행기 (4)
      • 일기 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 개발자
  • 유럽여행후기
  • 프론트엔드
  • 유럽에서기차
  • 이탈리아
  • 유럽렌트카
  • 스위스
  • 밀라노
  • 자바스크립트
  • 기본기
  • 모던딥다이브
  • 유럽여행
  • 실제유럽후기
  • 리셀후기
  • timecomplexity
  • 모던자바스크립트딥다이브
  • 개발기본기
  • 타입스크립트
  • 인터라켄
  • 개발
  • JavaScript
  • 비전공자
  • 꿀팁
  • 당첨수령
  • 아랍항공
  • 백엔드
  • 꼬모레이크
  • 개발개념
  • 노드
  • 기차유럽

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Nomad Jay

디지털노마드 Jay

Programming(ko,en)/Javascript

ES6 , Map(), Set()

2022. 10. 20. 08:45
반응형

Set()

 

Set은 value 들로 이루어진 컬렉션

 

new Set()은 새로운 set 을 만든다

 

Set은 인덱스로 데이터를 조회할수 없다

 

set.size 는 set 이 가지고있는 데이터의 개수를 조회한다

 

set.has(value) 는 value가 set 안에 존재한다면 true 를 반환한다

 

indexOf()로 데이터를 찾는것보다 Set이 더 빠르다

 

set.add(value) 는 value 를 set 안 에 추가한다

 

Set에는 같은 데이터가 2번 존재할수가 없다, 같은 데이터가 추가되는 경우 추가되지않는다

 

set.delete(value) 는 value 를 set 에서 제거한다

 

set.clear() 는 set 안의 모든 데이터를 제거한다

 

set.keys(), set.values(), set.entries() 는 이터레이터들을 리턴하며, Map과의 호환성을 위해 존재한다

 

(이터레이터란? https://pks2974.medium.com/javascript%EC%99%80-iterator-cdee90b11c0f)

 

Javascript와 Iterator

자바스크립트를 처음부터 다시 생각하고 공부해 보려고 한다.

pks2974.medium.com

 

let dogs = new Set()

dogs.add('chihuahua')
dogs.add('bodercolie')
console.log('dogs',dogs)  // Set ['chihuahua','bodercolie']

dogs.delete('cat') // false Set 안에 존재하지않기 때문에
dogs.delete('bodercolie') // true set 안에 존재하기 때문

dogs.size // 1 Set 안에 있는 value 의 개수를 리턴


dogs.has('chihuahua')  //true Set 안에 존재하는 값이라서

dogs[0] // undefined Set 은 인덱스로 값을 찾을수가없음

dogs.clear()  //Set 안에 있는 모든 value 삭제
console.log(dogs) // Set(0)

 

 

 

Map()

 

Map 은 key -- value 의 쌍으로 이루어져있는 컬렉션이다

 

new Map() 으로 새로운 map 을 만들수있다

 

map.set(key,value) 는 map 에 key 와 value 를 추가한다, 같은 key 값이 존재할경우 기존 데이터를 덮어쓴다

 

map.get(key) 는 key 와 관련된 value 를 리턴한다

 

map.has(key) 는 key 가 존재하는지 확인해서 boolean 을 리턴한다

 

map.size 는 map 의 엔트리 개수를 조회한다

 

map.delete(key) 는 key 와 관련된 엔트리를 삭제한다

 

map.clear() 는 map의 모든 데이터를 삭제한다

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/entries

 

Object.entries() - JavaScript | MDN

Object.entries() 메서드는 for...in와 같은 순서로 주어진 객체 자체의 enumerable 속성 [key, value] 쌍의 배열을 반환합니다. (for-in 루프가 다른점은 프로토 타입 체인의 속성도 열거한다는 점입니다).

developer.mozilla.org

 

let dogs = new Map();

dogs.set('name', 'blue') //추가, set은 같은 key가 존재하면 데이터를 덮어쓴다. 
dogs.set('breed', 'bodercolie') //추가

dogs.get('name') // 'blue' => key와 관련된 value를 리턴한다.  


dogs.has('name') // true => key가 존재하는지 확인한다.
dogs.size //2 => 엔트리의 개수를 반환한다.
dogs.clear() // 모든 데이터 삭제

 

 

Map을 생성하는 3가지 방법

 

//1. 
let dogs = new Map();

//2.
let dogs = new Map([['name', 'blue']]); 

//3. 
let dogs = new Map().set('name', 'blue').set('breed', 'bodercolie')

 

Map.keys() 와 Map.values()

 

각각의 순회할 수 있는 모든 iterable object 를 반환한다

 

let dogs = new Map().set('name', 'blue').set('breed', 'bodercolie')

console.log([...dogs.keys()]) //[ 'name', 'breed' ]
console.log([...dogs.values()]) //[ 'blue', 'bodercolie' ]

 

 

Map 순회하는 2가지 방법

 

let dogs = new Map().set('name', 'blue').set('breed', 'bodercolie')

//for-of
for (let [key, value] of dogs) {
  console.log(key + ':' + value); 
}


//forEach ** value - key 순임!!
dogs.forEach((value, key, map) => {
  console.log(key + ':' + value);
});

// 둘다 아래와 같은 결과가 반환된다.  
// 'name:blue'
//'breed:bodercolie'

 

 

Map.entries()

 

map 안의 모든 엔트리들을 순회할수있는 itrable object 를 반환한다

 

let dogs = new Map().set('name', 'blue').set('breed', 'bodercolie')
let iterObj  = dogs.entries();
console.log('iterObj',iterObj) 
//'iterObj' Iterator [Map Iterator] {
//  __proto__: { next: ƒ next() }
//}

console.log(iterObj.next()) //{ value: [ 'name', 'blue' ], done: false }
console.log(iterObj.next()) //{ value: [ 'breed', 'bodercolie' ], done: false }
console.log(iterObj.next()) //{ value: undefined, done: true }()

 

반응형
저작자표시 (새창열림)

'Programming(ko,en) > Javascript' 카테고리의 다른 글

What is Vanilla JS?  (0) 2022.11.03
JavaScript DataStructure  (0) 2022.10.24
JavaScript Syntax Basics  (0) 2022.10.17
How does a browser works?  (0) 2022.10.12
What is the JavaScript?  (1) 2022.10.10
    'Programming(ko,en)/Javascript' 카테고리의 다른 글
    • What is Vanilla JS?
    • JavaScript DataStructure
    • JavaScript Syntax Basics
    • How does a browser works?
    Nomad Jay
    Nomad Jay
    유럽에 거주중

    티스토리툴바