function unique(array){ return Array.from(new Set(array)); } var arr = ['aa','bb','cc','',1,0,'1',1,'bb',null,undefined,null]; console.log(unique(arr));
得到的结果是:
["aa", "bb", "cc", "", 1, 0, "1", null, undefined]
1.Array.from
方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map)
2.类似数组是什么意思呢?
let arrayLike = { '0': 'a', '1': 'b', '2': 'c', length: 3 }; // ES6的写法 let arr2 = Array.from(arrayLike); // ['a', 'b', 'c']
3.ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
当然这些都是http://es6.ruanyifeng.com/阮一峰的书上面的哦,大家有事没事多看看吧