September Morn Update

This commit is contained in:
Ingy döt Net 2019-09-12 10:33:56 -07:00
parent 4e2d22a71d
commit aac6731f2c
6856 changed files with 141342 additions and 21127 deletions

View file

@ -1,2 +1,2 @@
// flatten :: Tree a -> [a]
const flatten = t => Array.isArray(t) ? [].concat(...t.map(flatten)) : t;
// flatten :: NestedList a -> [a]
const flatten = nest => nest.flat(Infinity);

View file

@ -1,12 +1,5 @@
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;
}
// flatten :: Nested List 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,8 @@
// flatten :: Nested List a -> a
const flatten = t => {
let xs = t;
while (xs.some(Array.isArray)) (
xs = [].concat(...xs)
)
return xs;
};