set实现数组去重

 

  1. ES6中新增了Set数据结构,相似于数组,可是 它的成员都是惟一的 ,其构造函数能够接受一个数组做为参数,如:javascript

    let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3]; let set = new Set(array); console.log(set); // => Set {1, 2, 3, 4, 5} 
  2. ES6中Array新增了一个静态方法Array.from,能够把相似数组的对象转换为数组,如经过querySelectAll方法获得HTML DOM Node List,以及ES6中新增的SetMap等可遍历对象,如:html

    let set = new Set(); set.add(1).add(2).add(3); let array = Array.from(set); console.log(array); // => [1, 2, 3] 

因而,如今咱们能够用一行代码实现数组去重了:java

let array = Array.from(new Set([1, 1, 1, 2, 3, 2, 4])); console.log(array); // => [1, 2, 3, 4] 

附:ES5实现数组去重数组

var array = [1, '1', 1, 2, 3, 2, 4]; var tmpObj = {}; var result = []; array.forEach(function(a) { var key = (typeof a) + a; if (!tmpObj[key]) { tmpObj[key] = true; result.push(a); } }); console.log(result); // => [1, "1", 2, 3, 4]

转:http://www.cnblogs.com/raocheng/articles/6549556.html
相关文章
相关标签/搜索