Array.prototype.unique_tempArray = Array.prototype.unique_tempArray || function () { var result = []; //临时数组 for (var i = 0; i < this.length; i++) { if (result.indexOf(this[i]) == -1) { result.push(this[i]); } } return result; };
Array.prototype.unique_sortArray = Array.prototype.unique_sortArray || function () { this.sort(); var result = [this[0]]; for (var i = 1; i < this.length; i++) { if (this[i] !== result[result.length - 1]) { result.push(this[i]); } } return result; };
利用 ES6 的 Set 对象和 Array.from 方法
Set 对象可以是任何类型的单个值的集合。它是 ES6 新增的有序列表集合,它不会包含重复项。之前我们通常用对象(Object)或者数组(Array)来实现没有重复项的集合。
Array.from()方法可以将一个类数组对象或可遍历对象转换成真正的数组。
1 2 3 4 5
Array.prototype.unique_es6SetArray = Array.prototype.unique_esSetArray || function () { returnArray.from(newSet(this)); };