Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,16 @@
|
|||
function unique(ary) {
|
||||
// concat() with no args is a way to clone an array
|
||||
var u = ary.concat().sort();
|
||||
for (var i = 1; i < u.length; ) {
|
||||
if (u[i-1] === u[i])
|
||||
u.splice(i,1);
|
||||
else
|
||||
i++;
|
||||
}
|
||||
return u;
|
||||
}
|
||||
|
||||
var ary = [1, 2, 3, "a", "b", "c", 2, 3, 4, "b", "c", "d", "4"];
|
||||
var uniq = unique(ary);
|
||||
for (var i = 0; i < uniq.length; i++)
|
||||
print(uniq[i] + "\t" + typeof(uniq[i]));
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
Array.prototype.unique = function() {
|
||||
var u = this.concat().sort();
|
||||
for (var i = 1; i < u.length; ) {
|
||||
if (u[i-1] === u[i])
|
||||
u.splice(i,1);
|
||||
else
|
||||
i++;
|
||||
}
|
||||
return u;
|
||||
}
|
||||
var uniq = [1, 2, 3, "a", "b", "c", 2, 3, 4, "b", "c", "d"].unique();
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
Array.prototype.unique = function() {
|
||||
return this.sort().reduce( (a,e) => e === a[a.length-1] ? a : (a.push(e), a), [] )
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
Array.prototype.unique = function() {
|
||||
return [... new Set(this)]
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
function uniq(lst) {
|
||||
var u = [],
|
||||
dct = {},
|
||||
i = lst.length,
|
||||
v;
|
||||
|
||||
while (i--) {
|
||||
v = lst[i], dct[v] || (
|
||||
dct[v] = u.push(v)
|
||||
);
|
||||
}
|
||||
u.sort(); // optional
|
||||
|
||||
return u;
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
(function () {
|
||||
'use strict';
|
||||
|
||||
// nub :: [a] -> [a]
|
||||
function nub(xs) {
|
||||
|
||||
// Eq :: a -> a -> Bool
|
||||
function Eq(a, b) {
|
||||
return a === b;
|
||||
}
|
||||
|
||||
// nubBy :: (a -> a -> Bool) -> [a] -> [a]
|
||||
function nubBy(fnEq, xs) {
|
||||
var x = xs.length ? xs[0] : undefined;
|
||||
|
||||
return x !== undefined ? [x].concat(
|
||||
nubBy(fnEq, xs.slice(1)
|
||||
.filter(function (y) {
|
||||
return !fnEq(x, y);
|
||||
}))
|
||||
) : [];
|
||||
}
|
||||
|
||||
return nubBy(Eq, xs);
|
||||
}
|
||||
|
||||
|
||||
// TEST
|
||||
|
||||
return [
|
||||
nub('4 3 2 8 0 1 9 5 1 7 6 3 9 9 4 2 1 5 3 2'.split(' '))
|
||||
.map(function (x) {
|
||||
return Number(x);
|
||||
}),
|
||||
nub('chthonic eleemosynary paronomasiac'.split(''))
|
||||
.join('')
|
||||
]
|
||||
|
||||
})();
|
||||
Loading…
Add table
Add a link
Reference in a new issue