1、数组去重
// 原生写法 var shuffle_array = [1, 2, 1, 2, 3, 4, 1, 2, 3, 9, 8, 7, 7]; // 数组去重 function Toralds (arr) { for (var i = 0; i < arr.length - 1; i ++) { for (var j = i + 1; j < arr.length; j ++) { if (arr[i] == arr[j]) { arr.splice(j, 1); j --; } } } return arr; } console.log(Toralds(shuffle_array)); // ES6数据结构 Set 写法 var shuffle_array = [1, 2, 1, 2, 3, 4, 1, 2, 3, 9, 8, 7, 7]; var new_array = new Set(shuffle_array); console.log(new_array); // 因为去重过后Set数据结构并不是Array类型 // 进行Array转换(使用Array.from) console.log(Array.from(new_array)); //1) Set add方法: let set1 = new Set() set1.add(1) set1.add(2) set1.add(3) console.log('added:', set1) // added: Set {1, 2, 3} //2) 删除Set中的元素 let set1 = new Set() set1.add(1) set1.add(2) set1.add(3) set1.delete(1) console.log('deleted:', set1) // deleted: Set { 2, 3 } //3) 判断某个元素是否存在(返回布尔值) let set1 = new Set() set1.add(1) set1.add(2) set1.add(3) set1.delete(1) console.log('has(1):', set1.has(1)) // false console.log('has(2):', set1.has(2)) // true // 5)清除Set中的所有元素 let set1 = new Set() set1.add(1) set1.add(2) set1.add(3) set1.clear() console.log('cleared:', set1) // cleared: Set {} // 6) 遍历 可以使用Set实例对象的keys(),values(),entries()方法进行遍历。 由于Set的键名和键值是同一个值,它的每一个元素的key和value是相同的,所有keys()和values()的返回值是相同的,entries()返回的元素中的key和value是相同的。 let set5 = new Set([4, 5, 'hello']) console.log('iterate useing Set.keys()') for(let item of set5.keys()) { console.log(item) } // iterate useing Set.keys() // 4 // 5 // hello console.log('iterate useing Set.values()') for(let item of set5.values()) { console.log(item) } // iterate useing Set.values() // 4 // 5 // hello console.log('iterate useing Set.entries()') for(let item of set5.entries()) { console.log(item) } // iterate useing Set.entries() // [ 4, 4 ] // [ 5, 5 ] // [ 'hello', 'hello' ]