set 와 map 의 차 이 는 무엇 입 니까?
4675 단어 javascript 전단
set --- > 데이터 재 구성 set 는 집합 이라는 데이터 구조 이다.Map --- > 데이터 저장 Map 은 사전 이라는 데이터 구조 이다.
집합 과 사전 의 차이:
공통점: 집합, 사전 은 중복 되 지 않 는 값 의 차이 점 을 저장 할 수 있 습 니 다. 집합 은 [value, value] 의 형식 으로 요 소 를 저장 하고 사전 은 [key, value] 의 형식 으로 저장 합 니 다.
집합 (세트):
ES6 에 추 가 된 새로운 데이터 구 조 는 배열 과 유사 하 며 구성원 이 유일 하 다 (내부 요소 가 중복 되 지 않 은 값).또한 키 를 사용 하여 데이터 정렬 을 순서대로 저장 합 니 다.
set 자 체 는 set 데이터 구 조 를 만 드 는 구조 함수 입 니 다.
set 대상 은 원본 값 이나 대상 참조 에 관 계 없 이 모든 종류의 유일한 값 을 저장 할 수 있 습 니 다.
:
const s = new Set()
[1, 2, 3, 4, 3, 2, 1].forEach(x => s.add(x))
for (let i of s) {
console.log(i) // 1 2 3 4
}
//
let arr = [1, 2, 3, 2, 1, 1]
[... new Set(arr)] // [1, 2, 3]
메모: Set 에 값 을 추가 할 때 유형 전환 이 일어나 지 않 기 때문에 5 와 5 는 서로 다른 값 입 니 다.Set 내부 에서 두 값 이 다른 지 여 부 를 판단 할 때 사용 하 는 알고리즘 을 'Same - value - zero equality' 라 고 하 는데 이것 은 정확 한 연산 자 (= = = =) 와 유사 하 며 주요 한 차이 점 은 NaN 이 자신 과 같 지 않 고 정확 한 연산 자 는 NaN 이 자신 과 같 지 않다 고 여 긴 다.
:
let set = new Set();
let a = NaN;
let b = NaN;
set.add(a);
set.add(b);
set // Set {NaN}
let set1 = new Set()
set1.add(5)
set1.add('5')
console.log([...set1]) // [5, "5"]
조작 방법:
WeakSet: WeakSet 대상 은 약 한 인용 대상 을 집합 에 저장 할 수 있 습 니 다.
WeakSet 과 Set 의 차이 점:
방법:
사전 (지도):
키 가 맞 는 구조 로 빠 른 검색 속 도 를 가지 고 있 습 니 다.
:
const m = new Map()
const o = {p: 'haha'}
m.set(o, 'content')
m.get(o) // content
m.has(o) // true
m.delete(o) // true
m.has(o) // false
조작 방법:
반복 방법:
WeakMap: WeakMap 대상 은 키 값 이 맞 는 집합 입 니 다. 키 는 약 한 참조 대상 이 고 값 은 임 의 일 수 있 습 니 다.
,WeakMap , 。 。
WeakMap 에서 모든 키 는 자신 이 인용 한 대상 에 대한 인용 이 약 합 니 다. 다른 인용 과 이 키 가 같은 대상 을 인용 하지 않 으 면 이 대상 은 쓰레기 로 회수 되 기 때문에 WeakMap 의 key 는 셀 수 없습니다.
방법:
요약:
Set:
WeakSet:
Map:
WeakMap:
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JavaScript 베이스(7)콜 () 과 apply () 를 호출하면 대상을 첫 번째 인자로 지정할 수 있습니다. Math.floor () 는 한 수를 아래로 가져올 수 있습니다. Math.round () 는 한 수를 반올림하여 정돈할 수 있다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.