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,5 @@
function flatten(list) {
return list.reduce(function (acc, val) {
return acc.concat(val.constructor === Array ? flatten(val) : val);
}, []);
}

View file

@ -0,0 +1,18 @@
(function () {
'use strict';
// flatten :: Tree a -> [a]
function flatten(t) {
return (t instanceof Array ? concatMap(flatten, t) : t);
}
// concatMap :: (a -> [b]) -> [a] -> [b]
function concatMap(f, xs) {
return [].concat.apply([], xs.map(f));
}
return flatten(
[[1], 2, [[3, 4], 5], [[[]]], [[[6]]], 7, 8, []]
);
})();

View file

@ -0,0 +1,4 @@
// flatten :: Tree a -> [a]
function flatten(a) {
return a instanceof Array ? [].concat.apply([], a.map(flatten)) : a;
}

View file

@ -0,0 +1,13 @@
(function () {
'use strict';
// flatten :: Tree a -> [a]
function flatten(a) {
return a instanceof Array ? [].concat.apply([], a.map(flatten)) : a;
}
return flatten(
[[1], 2, [[3, 4], 5], [[[]]], [[[6]]], 7, 8, []]
);
})();

View file

@ -0,0 +1,3 @@
// flatten :: NestedList a -> [a]
const flatten = nest =>
nest.flat(Infinity);

View file

@ -0,0 +1,8 @@
// flatten :: NestedList a -> [a]
const flatten = t => {
const go = x =>
Array.isArray(x) ? (
x.flatMap(go)
) : x;
return go(t);
};

View file

@ -0,0 +1,12 @@
function flatten(list) {
for (let i = 0; i < list.length; i++) {
while (true) {
if (Array.isArray(list[i])) {
list.splice(i, 1, ...list[i]);
} else {
break;
}
}
}
return list;
}

View file

@ -0,0 +1,10 @@
// flatten :: Nested List a -> a
const flatten = t => {
let xs = t;
while (xs.some(Array.isArray)) {
xs = [].concat(...xs);
}
return xs;
};