set的用法
set是一種集合;類似陣列,不同的是set集合中的元素不能重複
有兩種定義方式:
第一種:定義時不加引數
let list = new set();
list.add(1);
list.add(2);
console.log(list.size);//2
第一種:定義時加引數
let arr = [1,2,3,4,5];
let list = new set(arr);
console.log(list.size);//5
set集合中的元素不能重複的情況如下:
let list = new set();
list.add(1);
list.add(2);
list.add(1);
console.log(list);//set(2) 不報錯,相同的元素加不進去
set重要使用,去重
let arr1 = [1,2,3,1,2];
let list1 = new set(arr1);
console.log(list1);//set(3)
set是不會進行資料型別的**轉換,如下事例中,字串2就不等於數值2
let arr2 = [1,2,3,1,'2'];
let list2 = new set(arr2);
console.log(list2);//set(4)
set例項的方法:
var arr = [1,2,3,4,5];
let list = new set(arr);
console.log(list.has(2));//true
console.log(list.delete(4),list);//true set(4)
list.clear();
console.log(list);//set(0) {}
set例項的方法和遍歷:
var arr = [1,2,3,4,5];
let list = new set(arr);
for(let key of list.keys())
for(let value of list.values())
//陣列的key和value是一樣的。不加values()的情況下,預設values();
for(let value of list)
for(let [key,value] of list.entries())
list.foreach(function (item));
weakset的用法
weakset和set的區別:
let weaklist = new weakset();
let obg = {};
weaklist.add(obg);
// weaklist.add(2);//這樣新增就會報錯,因為不是物件
console.log('weaklist', weaklist);//weaklist weakset }
map的用法
map是乙個物件,類似object,有key,value。不同的是object中的key只能是字串,而map的key可以使任意資料型別。
map和set的用法十分相似,定義方法也有有兩種:
第一種沒有引數的:
let map = new map();
let arr = [1,2,3];
map.set(arr,456);
console.log(map);//map(1)
console.log(map.get(arr));//456
第二種有引數的:new map([[key,value],[key,value]])
let map = new map([['a',123],['b',456]]);
console.log(map);//map(2)
這裡需要注意:map新增元素使用的是.set(),獲取時使用的是.get();
map常用的屬性值:size delete clear has
let map = new map([['a',123],['b',456]]);
console.log(map);//map(2)
console.log(map.has('a'));//true
console.log(map.size);//2
console.log(map.delete('a'),map);//true map(1)
map.clear();
console.log(map);//map(0) {}
map常用的方法:keys(),values(),entries()
和for of和foreach()迴圈
let a = [["one",1],["two",2]];
let map = new map(a);
map.foreach(function(value, key, map));
for(var key of map.keys())
for(var value of map.values())
for(var [key,value] of map.entries())
weakmap的用法
weakmap與map的區別:
var weakmap = new weakmap();
let obj = {};
weakmap.set(obj, 123);
console.log(weakmap.get(obj));//123
ES6學習筆記
let 塊變數 作用域為塊 const 常亮 作用域為當前塊 解構賦值 例 var x,y 1,2 字元擴充套件 at includes startswith endswith repeat codepointat 模板字串 例 正則的uiy 數值擴充套件 number.isfinite numbe...
ES6學習筆記
常用語法 1 let 與var類似,不同的是let定義的變數有塊級作用域,比如 var a 1 while true alert a 2 用let let a 1 while true alert a 12 const用來定義變數,但是定義之後的值不能再次更改了。乙個實際的用途是用來定義引入的模組,...
ES6學習筆記
var 有變數提公升 let 是塊級作用域,沒有變數提公升 模板語言 還原百分百定義的格式 const 定義常量,特殊情況可以改變值 const b 1 b 2 error const b b.a 2 ok b.c 10 ok object是記憶體位址,位址不變就沒問題 預設值 在不知道接收到個什麼...