Set.prototype.keys():返回键名的遍历器 Set.prototype.values():返回键值的遍历器 Set.prototype.entries():返回键值对的遍历器 Set.prototype.forEach():使用回调函数遍历每个成员 需要特别指出的是,Set的遍历顺序就是插入顺序。这个特性有时非常有用,比如使用 Set 保存一个回调函数列表,调用时就能保证按照添加顺序调用。
附:应用场景
1.数组去重
var arr = [1, 2, 3, undefined,undefined,null,null, NaN, 1, 2, 3, NaN],
set = new Set(arr);
console.log([...set]);
2. 数组去重后的实现映射数组
set实例本身没有map,filter等数组属性
let set = new Set([1,2,3,4,5,6,7]);
let set2 = new Set([...set].map(value => value * 2));
let set = new Set([1,2,3]);
let set1 = new Set(Array.from(set, vlaue=>value * 2));
数组去重后,过滤返回新的数组
let set = new Set([1,2,3,4,5,6,7,1,2,3]);
let set2 = new Set([...set].filter(x => (x%2) == 0));
Set.prototype.keys():返回键名的遍历器 Set.prototype.values():返回键值的遍历器 Set.prototype.entries():返回键值对的遍历器 Set.prototype.forEach():使用回调函数遍历每个成员 需要特别指出的是,Set的遍历顺序就是插入顺序。这个特性有时非常有用,比如使用 Set 保存一个回调函数列表,调用时就能保证按照添加顺序调用。
附:应用场景
1.数组去重
var arr = [1, 2, 3, undefined,undefined,null,null, NaN, 1, 2, 3, NaN],
set = new Set(arr);
console.log([...set]);
2. 数组去重后的实现映射数组
set实例本身没有map,filter等数组属性
let set = new Set([1,2,3,4,5,6,7]);
let set2 = new Set([...set].map(value => value * 2));
let set = new Set([1,2,3]);
let set1 = new Set(Array.from(set, vlaue=>value * 2));
数组去重后,过滤返回新的数组
let set = new Set([1,2,3,4,5,6,7,1,2,3]);
let set2 = new Set([...set].filter(x => (x%2) == 0));