Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -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]));

View file

@ -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();

View file

@ -0,0 +1,3 @@
Array.prototype.unique = function() {
return this.sort().reduce( (a,e) => e === a[a.length-1] ? a : (a.push(e), a), [] )
}

View file

@ -0,0 +1,3 @@
Array.prototype.unique = function() {
return [... new Set(this)]
}

View file

@ -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;
}

View file

@ -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('')
]
})();