Set

作者: 樱木夜访流川枫 | 来源:发表于2018-05-28 14:44 被阅读0次

概览

ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的。

内容

1.构造函数

Set 本身是一个构造函数,可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。

var arr = [1,2,2,3,3,3];

var setObj = new Set(arr);  // [1,2,3]
2.属性

size:set实例的成员总数。

3.操作方法(操作数据)

1、add;
2、clear;
3、delete;
4、has。

var arr = [1,2,2,3,3,3];

var setObj = new Set(arr);  // {1,2,3}

setObj.add(4);
console.log(setObj);  // {1,2,3,4}

console.log(setObj.has(4));  // true

// 语法:delete(vlaue),不是index
setObj.delete(4);
console.log(setObj);  // {1,2,3}

setObj.clear();
console.log(setObj);  // {}
3.遍历方法

forEach:类似于数组,没有返回值。

setObj.forEach(function (curItem, index) {
   console.log('Index is ' + index + ', square is ' + curItem * curItem);
})

利用扩展运算符,将 set 转为数组,间接使用数组的ES5 方法:

var arr = [1,2,2,3,3,3];
var setObj = new Set(arr);

var mapSet = new Set([...setObj].map(function(item, index, array) {
  return item * item;
}))
// {1,4,9}

var filterSet = new Set([...setObj].filter(function(item, index, array) {
  return item % 2 === 1;
}))
// {1,3}

相关文章

网友评论

      本文标题:Set

      本文链接:https://www.haomeiwen.com/subject/cfcgjftx.html