ES6 시작 set 및 맵, 구성 해제
1. 해체
해체부치는
ES6
에서 내놓은 효율적이고 간결한 부치 방법이다 let [,,third] = [1,2,3];
console.log(third); //3
let [first,...last] = [1,2,3];
console.log(last); //[2,3]
//
let {name,sex} = {"name":"huangsen","sex":"nan"};
console.log(name);
2、Rest + Spread
function f(x, ...y) {
console.log(x * y.length);
}
f(3, "hello","222","111");
function add(x,y,z) {
console.log(x+y+z);
}
add(...[1,2,3]);//6
3、Map + Set + WeakSet
Set
대상은 중복되지 않는 값으로 중복된 값은 무시됩니다. 값 유형은 원시 유형과 인용 유형WeakSet
일 수도 있고 중복되지 않는 값의 집합일 수도 있지만 대상을 저장하는 데만 사용할 수 있습니다.Set
의 용법: set
데이터 유형의 원소는 유일해야 한다.중복된 요소를 추가하면 오류가 발생하지 않고 효과가 발생하지 않습니다.Map
구조는'값-값'의 대응을 제공하고 더욱 완선한Hash
구조 실현이다.만약 '키 값 쌍' 의 데이터 구조가 필요하다면 Map Object
더욱 적합하다.이것은 대상과 유사하고 키 값 쌍의 집합이지만, '키' 의 범위는 문자열에 국한되지 않으며, 각종 종류의 값 (대상 포함) 은 모두 키로 쓸 수 있다. // :
1. add(value): , Set 。
2. delete(value): , , 。
3. has(value): , Set 。
4. clear(): ,
let s = new Set();
s.add("hello").add("goodbye").add("hello");
console.log(s.size);//2
console.log(s.has("hello")) //true
let s = new Set([1,2,3,4,5,6]);
s.forEach((item)=>{
console.log(item)//1,2,3,4,5,6
});
// map
1. map.size
2. set ,get
3. delete() ; clear()
// Maps
let m = new Map();
m.set("hello", 42);
m.set(s, 34);
console.log(m.get(s)); //34
console.log(m.get("hello")) //42
map
의 기타 방법:http://www.cnblogs.com/dagaoxiaozheng/p/6605981.html var ws = new WeakSet();
ws.add({ data: 42 });
4. WeakSet과 Set의 차이점:
WeakSet
의 구성원은 대상일 뿐 다른 유형의 값일 수 없다WeakSet
의 대상은 모두 약한 인용이다. 즉, 쓰레기 회수 메커니즘은 이 대상에 대한 인용을 고려하지 않는다WeakSet
. 즉, 다른 대상이 이 대상을 인용하지 않으면 쓰레기 회수 메커니즘은 이 대상이 차지하는 메모리를 자동으로 회수하고 이 대상이 아직 존재하는 것을 고려하지 않는다WeakSet
에 있다.이 특징은 WeakSet
의 구성원을 인용할 수 없기 때문에 WeakSet
는 두루 돌아다닐 수 없다는 것을 의미한다.WeakSet
와 set
가 지원하는 데이터 유형이 다르다.WeakSet
의 대상은 모두 인용한 경우이다.주소가 쓰레기로 회수되었는지 검사하지 않음;size
속성이 없고, clear
방법이 없으면 두루 돌아다닐 수 없다.5、WeakMap의 사용법
-
weakMap
와 map
의 차이점:set
속성이 없어 사용할 수 없음clear()
weakSet
와set
의 차이와 같다.6. 맵의 사용법
map
의 속성명은 임의의 데이터 형식이 될 수 있다.map
증가치,용set
,획득치용get
7. WeakMap과 WeakSet은 다음과 같은 몇 가지 제한을 제외하고 Map, Set과 거의 같은 행위를 완성하도록 설계되었다.
WeakMap
는 new、has、get、set
및 delete
만 지원합니다.WeakSet
는 new、has、add
및 delete
만 지원합니다.WeakSet
의 값과 WeakMap
의 키는 반드시 대상이어야 한다.8. 두 집합의 교집합, 병집합, 차집합을 구한다
let set1 = new Set([1, 2, 3, 4, 5, 6]);
let set2 = new Set([4, 5, 6, 7, 8, 9]);
//
let union = new Set([...set1, ...set2]);
union.forEach((item)=>{
console.log(item);//1,2,3,4,5,6,7,8,9
});
//
let intersect = new Set([...set1].filter(x => set2.has(x)));
intersect.forEach((item)=>{
console.log(' :'+item);//4,5,6
});
, A,B , A B , A B( A B ), , A、B, {x∣x∈A, x∉B} A B
//
let intersect1 = new Set([...set1].filter(x => !set2.has(x)));
intersect1.forEach((item)=>{
console.log(' :'+item);//1,2,3
});
9. 그룹 제거
Set + Array.from()
수조제거 let arr = [12,13,12,11,0];
let arr1 = Array.from(new Set(arr));
console.log(arr1);// :12,13,11,0
Set
수 그룹 무게 제거 let arr = [12,13,12,11,0];
let arr1 = [...new Set(arr)];
console.log(arr1);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.