ES6基礎語法(四) 資料集合 map

2021-08-14 17:16:48 字數 1577 閱讀 5113

·類似於物件,以鍵值對方式儲存

·不同點:物件中鍵只能是字串,map中可以為物件

//在物件中,鍵如果為乙個物件,會直接將這個物件tostring(),都會變成"[object object]"字串,所以"大海"能替換"天空"

let obj1 = , obj2 = , obj = {};

obj.name = '張三';

obj[obj1] = '天空';

obj[obj2] = '大海';

console.log(obj); //

console.log(obj1.tostring()); // [object object]

console.log(obj2.tostring()); // [object object]

console.log(obj1.tostring() === obj2.tostring()); // true

//在map中,物件可以作為鍵

let obj1 = , obj2 = ;

const map = new map([

['name', '張三'],

[obj1, '今天天氣很好'],

[obj2, '適合敲**'],

[[1,2], 'hhh']

]);console.log(map); // map(4) => "今天天氣很好", => "適合敲**", array(2) => "hhh"}

console.log(map.size); // 4

1.set和get

map.set('friends', ['趙六', '李七']).set(['dog'], '小花');

console.log(map);

console.log(map.get('name')); // 張三

console.log(map.get(obj1)); // 今天天氣很好

2.delete(返回boolean值)

map.delete(obj1);

3.has(返回boolean值)

console.log(map.has(obj2));

4.clear-清空

map.clear();

console.log(map);

5.keys()-所有鍵 values()-所有值 entries()-所有鍵值

console.log(map.keys());

console.log(map.values());

console.log(map.entries());

6.遍歷

map.foreach(function (value, index) )

7.注意事項-兩個物件永不相等

map.set({}, '呵呵呵呵呵');

map.set({}, '哈哈哈哈');

console.log(map); // 上面兩個都加入進去了

ES6基礎語法(三) 資料集合 set

類似於陣列,不同點是set裡沒有重複資料 主要用於去除重複資料 1.建立乙個集合 let set new set 張三 李四 王五 張三 李四 console.log set set 3 size proto set entries array 3 0 張三 1 李四 2 王五 length 3 2...

ES6 基礎語法

1 var vs let const var 可以定義全域性變數,與之不同,let的重要特性就是提供了塊級作用域和不具備變數提公升。const主要用於定義常量,常量顧名思義不是變數,意思就是一經定義,值就無法改變。首先弄明白塊級作用域 es5中有全域性作用域與函式作用域,塊級作用域是es6中的新語法...

ES6基礎語法

let 變數 不具備變數提公升特性 const 常量 引用位址不可改變 在宣告時必須被賦值 let和const都是塊級作用域 只在最靠近的乙個塊中 花括號內 有效 在es6中新增了模板字串拼接 var name kingfan var age 18 var msg 我是 今年 歲 console.l...