Maps
Map对象
var sayings = new Map();
sayings.set(\'dog\', \'woof\');
sayings.set(\'cat\', \'meow\');
sayings.set(\'elephant\', \'toot\');
sayings.size; // 3
sayings.get(\'fox\'); // undefined
sayings.has(\'bird\'); // false
sayings.delete(\'dog\');
sayings.has(\'dog\'); // false
for (var [key, value] of sayings) {
console.log(key + \' goes \' + value);
}
// \"cat goes meow\"
// \"elephant goes toot\"
sayings.clear();
sayings.size; // 0
WeakMap对象
键值必须是
const privates = new WeakMap();
function Public() {
const me = {
// Private data goes here
};
privates.set(this, me);
}
Public.prototype.method = function() {
const me = privates.get(this);
// Do stuff with private data in `me`...
};
module.exports = Public;
Sets
set对象
set中的元素都是唯一的,意为set中的元素不能重复出现,只能出现一次。
var mySet = new Set();
mySet.add(1);
mySet.add(\'some text\');
mySet.add(\'foo\');
mySet.has(1); // true
mySet.delete(\'foo\');
mySet.size; // 2
for (let item of mySet) console.log(item);
// 1
// \"some text\"
Array和set之间的转换
Array.from(mySet);
[...mySet2];
mySet2 = new Set([1, 2, 3, 4]);
Array和set比较
set元素的存储方式类似array,不同为:
- 使用indexOf判断元素是否存在于数组中,这样的效率比较慢。
- 可以使用元素值删除set中的元素,数组只能通过元素的索引来删除元素。
- 不能通过indexOf来寻找数组中的NaN值。
- set集合中只能存储不重复的元素值。
WeakSet对象
WeakSet中只能放入 。
继续阅读与本文标签相同的文章
上一篇 :
Asterisk使用
下一篇 :
阿里云前端周刊 - 第 32 期
-
阿里云“网红"运维工程师白金:做一个平凡的圆梦人
2026-05-18栏目: 教程
-
使用nginx部署网站
2026-05-18栏目: 教程
-
Java的四种线程池的使用,以及自定义线程工厂
2026-05-18栏目: 教程
-
Leetcode之删除排序数组中的重复项
2026-05-18栏目: 教程
-
详细领悟ThreadLocal变量
2026-05-18栏目: 教程
