List of utility methods to do Array Unique
unique(mutate)Array.prototype.unique = function (mutate) { var unique = this.reduce(function (accum, current) { if (accum.indexOf(current) < 0) { accum.push(current); return accum; }, []); if (mutate) { this.length = 0; ... | |
unique(str)Array.prototype.unique = function(str){ const seen = new Map() return this.filter((a) => { return !seen.has(a['name']) && seen.set(a['name'], 1) }) | |
unique1()Array.prototype.unique1 = function(){ var res = [this[0]]; for(var i = 1; i < this.length; i++){ var repeat = false; for(var j = 0; j < res.length; j++){ if(this[i] == res[j]){ repeat = true; break; if(!repeat){ res.push(this[i]); return res; var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0] console.log(arr.unique1()); | |
unique1()Array.prototype.unique1 = function () { var a = [], o = {}, n = this.length; for (var i=0; i<n; ++i) { o[this[i]] = this[i]; for (var i in o) { a.push(o[i]); ... | |
unique2()Array.prototype.unique2 = function(){ this.sort(); var res = [this[0]]; for(var i = 1; i < this.length; i++){ if(this[i] !== res[res.length - 1]){ res.push(this[i]); return res; ... | |
unique2()Array.prototype.unique2=function () { var n={}; var tmp=[]; for(var i=0;i<this.length;i++){ if(!n[this[i]]){ n[this[i]]=true; tmp.push(this[i]); return tmp; | |
unique2()Array.prototype.unique2 = function () { var a = [], n = this.length; for (var i=0; i<n; ++i) { for (var j=i+1; j<n; ++j) { if(this[i]===this[j]) j = ++i; a.push(this[i]); return a; }; | |
unique2()Array.prototype.unique2 = function () { var result = []; for (var i = 0; i < this.length; i++) { if (result.indexOf(this[i]) == -1) { result.push(this[i]); return result; | |
unique2(getKey = val => val)Array.prototype.unique2 = function (getKey = val => val) { const n = {}; const r = []; for (let i = 0; i < this.length; i += 1) { const key = getKey(this[i]); if (!n[key]) { n[key] = true; r.push(this[i]); return r; }; | |
unique3()Array.prototype.unique3 = function () { return this.filter(function (s, i, a) { return i===a.lastIndexOf(s); }) }; |