日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript Map 和 Set

發布時間:2024/8/26 javascript 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript Map 和 Set 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

結論

  • Map:存放鍵值對,區別于 Object,鍵可以是任何值。
  • Set:存放不重復的值

Map

存儲鍵值對,讀取時與插入順序一致。

var map = new Map([[1, "1"], [3, "3"], [2, "2"]]); map.set("foo", "bar");for (const [key, val] of map) {console.log(key, val); }

輸出:

1 '1' 3 '3' 2 '2' foo bar

任何值,對象或原始值,都可作為 Map 的鍵。

var myMap = new Map();var keyString = 'a string',keyObj = {},keyFunc = function() {};// setting the values myMap.set(keyString, "value associated with 'a string'"); myMap.set(keyObj, 'value associated with keyObj'); myMap.set(keyFunc, 'value associated with keyFunc');myMap.size; // 3// getting the values myMap.get(keyString); // "value associated with 'a string'" myMap.get(keyObj); // "value associated with keyObj" myMap.get(keyFunc); // "value associated with keyFunc"myMap.get('a string'); // "value associated with 'a string'"// because keyString === 'a string' myMap.get({}); // undefined, because keyObj !== {} myMap.get(function() {}); // undefined, because keyFunc !== function () {}

相比 Object,除了對可作為鍵的值沒要求外,Map 自帶遍歷器(iterator),可對其使用 for of 語句。

同時還自帶一些便捷的屬性和方法,比如 size,clear()。

Set

存儲唯一的值,對于重復的值會被忽略。

示例:

var obj = { a: 1, b: 2 }; var set = new Set([1, 2, 2, "foo"]); set.add(obj); set.add(obj);console.log("size:", set.size); console.log(set.has(2)); console.log(set.has(obj));for (const val of set) {console.log(val); }

輸出:

4 true true 1 2 foo { a: 1, b: 2 }

相關資源

  • MDN - Set
  • MDN - Map
  • javascript Map object vs Set object

轉載于:https://www.cnblogs.com/Wayou/p/javascript_map_and_set.html

總結

以上是生活随笔為你收集整理的JavaScript Map 和 Set的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。