摘要:對象保存鍵值對。清空用于移除對象中指定的元素。執行刪除操作返回一個值,用來表明中是否存在指定元素一樣的后面的會覆蓋前面的值把對象轉換為迭代器返回一個新的對象對象是一組鍵值對的集合,其中的鍵是弱引用的。其鍵必須是對象,而值可以是任意的。
let myMap=new Map(); let keyObj={},keyfunc=function(){},keysTring="hello word";
myMap.set(keysTring,"keysTring的關聯值") myMap.set(keyfunc,"keyfunc的關聯值") myMap.set(keyObj,"keyObj的關聯值")
console.log(myMap.size) //3
console.log(myMap.get(keysTring)) //keysTring的關聯值 console.log(myMap.get("hello word")) //keysTring的關聯值 ---------- console.log(myMap.get(keyfunc)) //keyfunc的關聯值 console.log(function(){}===keyfunc) //false console.log(myMap.get(function(){})) //undefined, 因為keyFunc !== function () {} ---------- console.log(myMap.get(keyObj)) //keyObj的關聯值 console.log({}===keyObj) //false console.log(myMap.get({})) //undefined 因為keyObj !== {}
myMap.set(NaN, "not a number"); console.log(myMap.get(NaN)) //not a number var otherNaN=Number("foo"); console.log(otherNaN) //NaN console.log(myMap.get(otherNaN)) //not a number 也可以取值
let kvArray = [["key1", "value1"], ["key2", "value2"]]; var myMap1 = new Map(kvArray); //使用映射對象常規的構造函數將一個二維鍵值對數組對象轉換成一個映射關系 console.log(myMap1) //Map { "key1" => "value1", "key2" => "value2" } console.log(myMap1.get("key1")) //value1 console.log([...myMap1]) //[ [ "key1", "value1" ], [ "key2", "value2" ] ]
var myMap2 = new Map(kvArray); myMap2.forEach((value,index)=>{ console.log(value+"---"+index) //value1---key1 value2---key2 })
var myMap3 = new Map(kvArray); for(var a of myMap3){ console.log(a) //[ "key1", "value1" ] [ "key2", "value2" ] } for(var [key,value] of myMap3){ console.log("key:"+key+", value:"+value) //key:key1, value:value1 key:key2, value:value2 }
let clearMap=new Map(); clearMap.set("hello","word"); console.log(clearMap.size) //1 clearMap.clear(); //清空 console.log(clearMap.size) //0
let delMap=new Map(); delMap.set("hi","word"); delMap.set("hello","word"); console.log(delMap) //Map { "hi" => "word", "hello" => "word" } delMap.delete("hi"); //執行刪除操作 console.log(delMap) //Map { "hello" => "word" }
let hasMap=new Map(); hasMap.set("hi","word"); hasMap.set("hi","hello word"); console.log(hasMap) //Map { "hi" => "hello word" } 一樣的key后面的value會覆蓋前面的值 console.log(hasMap.has("hi")); //true console.log(hasMap.has("hello")); //false
let entriesMap=new Map(); entriesMap.set("a","A"); entriesMap.set("b","B"); let entries=entriesMap.entries(); console.log(entries.next()); //{ value: [ "a", "A" ], done: false } console.log(entries.next().value); //[ "b", "B" ] console.log(entries.next()); //{ value: undefined, done: true }
let valueMap=new Map(); valueMap.set("a","A"); valueMap.set("b","B"); let values=valueMap.values(); console.log(values.next()) //{ value: "A", done: false } console.log(values.next()) //{ value: "B", done: false } console.log(values.next()) //{ value: undefined, done: true }
1.delete(key); 根據key刪除value 2.get(key);根據key獲取value 3.has(key) 根據key檢查是不是存在value 4.set(key,value) 根據key設置value let weakMap=new WeakMap(); weakMap.set("hi","word") //異常 因為WeakMap的鍵只能是個對象 let obj1={}; weakMap.set(obj1,"word") //正常 console.log(weakMap) //WeakMap {} console.log(weakMap.get(obj1)) //word console.log(weakMap.has(obj1)) //true console.log(weakMap.delete(obj1)) //true
每天進步一點,希望大家喜歡,也希望喜歡的朋友點個贊,后續繼續更新...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/93859.html
摘要:事實上,不僅僅是數組,任何具有接口且每個成員都是一個雙元素的數組的數據結構都可以當做構造函數的參數。返回所有成員的遍歷器需要特別注意的是,的遍歷順序就是插入順序。轉為轉為,正常情況下,所有鍵名都是字符串。 Map JavaScript 的對象(Object),本質上是鍵值對的集合(Hash 結構),但是傳統上只能用字符串當作鍵。這給它的使用帶來了很大的限制。為了解決這個問題,ES6 提...
摘要:返回一個布爾值,表示該值是否為的成員。返回鍵名的遍歷器返回鍵值的遍歷器返回鍵值對的遍歷器使用回調函數遍歷每個成員需要特別指出的是,的遍歷順序就是插入順序。該數組的所有成員,都會自動成為實例對象的成員。這意味著,數組的成員只能是對象。 1.Set ES6 提供了新的數據結構 Set。它類似于數組,但是成員的值都是唯一的,沒有重復的值。Set 本身是一個構造函數,用來生成 Set 數據結構...
摘要:學習筆記工作中常用到的語法只是簡單提及和,今天有空于是寫了這篇文章深入理解中的和數據結構,與其它數據結構的互相轉換。的提供了新的數據結構。本身是一個構造函數,用來生成數據結構。 文中的內容主要是來自于阮一峰的《ES6標準入門》(第三版)?!秾W習ES6筆記──工作中常用到的ES6語法》只是簡單提及Set和Map,今天有空于是寫了這篇文章──《深入理解:ES6中的Set和Map數據結構,M...
摘要:一個對象若只被弱引用所引用,則被認為是不可訪問或弱可訪問的,并因此可能在任何時刻被回收。也就是說,一旦不再需要,里面的鍵名對象和所對應的鍵值對會自動消失,不用手動刪除引用。如果有錯誤或者不嚴謹的地方,請務必給予指正,十分感謝。 前言 我們先從 WeakMap 的特性說起,然后聊聊 WeakMap 的一些應用場景。 特性 1. WeakMap 只接受對象作為鍵名 const map = ...
摘要:返回一個布爾值,表示該值是否為的成員。清除所有成員,沒有返回值。該數組中的每一項也必須是數組,內部數組的首個項會作為鍵,第二項則為對應值。返回所有成員的遍歷器需要特別注意的是,的遍歷順序就是插入順序。 Js大部分歷史時期都只存在一種集合類型,也就是數組類型。數組在 JS 中的使用正如其他語言的數組一樣,但缺少更多類型的集合導致數組也經常被當作隊列與棧來使用。數組只使用了數值型的索引,而...
閱讀 2176·2023-04-25 15:00
閱讀 2350·2021-11-18 13:14
閱讀 1172·2021-11-15 11:37
閱讀 3093·2021-09-24 13:55
閱讀 1231·2019-08-30 15:52
閱讀 2650·2019-08-29 12:35
閱讀 3367·2019-08-29 11:04
閱讀 1213·2019-08-26 12:13