文章目录
JavaScript 集合方法
new Set() 方法
将数组传递给 new Set() 构造函数:
示例
// 创建集合
const letters = new Set(["a","b","c"]);
add() 方法
示例
letters.add("d");
letters.add("e");
如果添加相等元素,则只会保存第一个元素:
示例
letters.add("a");
letters.add("b");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
letters.add("c");
列出集合元素
您可以使用 for…of 循环列出所有集合元素(值):
示例
// 创建集合
const letters = new Set(["a","b","c"]);
// 列出所有元素
let text = "";
for (const x of letters) {
text += x;
}
has() 方法
如果集合中存在指定值,则 has() 方法返回 true。
示例
// 创建集合
const letters = new Set(["a","b","c"]);
// 集合是否包含“d”?
answer = letters.has("d");
forEach() 方法
forEach() 方法为每个集合元素调用一个函数:
示例
// 创建集合
const letters = new Set(["a","b","c"]);
// 列出所有条目
let text = "";
letters.forEach (function(value) {
text += value;
})
values() 方法
values() 方法返回一个包含集合中值的 Iterator 对象:
示例 1
// 创建集合
const letters = new Set(["a","b","c"]);
// 获取所有值
const myIterator = letters.values();
// 列出所有值
let text = "";
for (const entry of myIterator) {
text += entry;
}
示例 2
// 创建一个集合
const letters = new Set(["a","b","c"]);
// 列出所有值
let text = "";
for (const entry of letters.values()) {
text += entry;
}
keys() 方法
keys() 方法返回一个包含集合中值的 Iterator 对象:
注意
集合没有键,因此 keys() 返回的值与 values() 相同。
这使得集合与 Map 兼容。
示例 1
// 创建一个集合
const letters = new Set(["a","b","c"]);
// 创建一个迭代器
const myIterator = letters.keys();
// 列出所有元素
let text = "";
for (const x of myIterator) {
text += x;
}
示例 2
// 创建 Set
const letters = new Set(["a","b","c"]);
// 列出所有元素
let text = "";
for (const x of letters.keys()) {
text += x;
}
entries() 方法
entries() 方法从 Set 返回一个包含 [value,value] 对的 Iterator。
注意
entries() 方法应该从对象返回一个 [key,value] 对。
Set 没有键,因此 entrys() 方法返回 [value,value]。
这使得 Set 与 Map 兼容。
示例 1
// 创建 Set
const letters = new Set(["a","b","c"]);
// 获取所有条目
const myIterator = letters.entries();
// 列出所有条目
let text = "";
for (const entry of myIterator) {
text += entry;
}
示例 2
// 创建一个集合
const letters = new Set(["a","b","c"]);
// 列出所有条目
let text = "";
for (const entry of letters.entries()) {
text += entry;
}
总结
本文介绍了JavaScript 集合方法的使用,如有问题欢迎私信和评论
1073

被折叠的 条评论
为什么被折叠?



