September Morn Update
This commit is contained in:
parent
4e2d22a71d
commit
aac6731f2c
6856 changed files with 141342 additions and 21127 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
};
|
||||
|
|
|
|||
12
Task/Flatten-a-list/JavaScript/flatten-a-list-7.js
Normal file
12
Task/Flatten-a-list/JavaScript/flatten-a-list-7.js
Normal 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;
|
||||
}
|
||||
8
Task/Flatten-a-list/JavaScript/flatten-a-list-8.js
Normal file
8
Task/Flatten-a-list/JavaScript/flatten-a-list-8.js
Normal 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;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue