js实现Set
1 class MySet { 2 constructor(params) { 3 if (typeof params[Symbol.iterator] !== 'function') { 4 throw new TypeError('Set的参数不是一个可以迭代的对象') 5 } 6 this._data = [] 7 for (var item of params) { 8 this.add(item) 9 } 10 } 11 12 //添加元素 13 add(data) { 14 if(!this.has(data)) { 15 this._data.push(data) 16 } 17 } 18 //判断是否含有该元素 19 has (data) { 20 for (let index = 0; index < this._data.length; index++) { 21 const element = this._data[index]; 22 if(this.isEqual(element,data)) { 23 return true 24 } 25 } 26 return false 27 } 28 delete (data) { 29 for (let index = 0; index < this._data.length; index++) { 30