Common sorted list: Difference between revisions

→‎{{header|JavaScript}}: Added a version in JavaScript
(→‎{{header|Haskell}}: Added a Haskell version)
(→‎{{header|JavaScript}}: Added a version in JavaScript)
Line 189:
{{Out}}
<pre>[1,3,4,5,7,8,9]</pre>
 
=={{header|JavaScript}}==
<lang javascript>(() => {
"use strict";
 
// --------------- COMMON SORTED LIST ----------------
 
// commonSorted :: Ord a => [[a]] -> [a]
const commonSorted = xs =>
sort(nub(concat(xs)));
 
 
// ---------------------- TEST -----------------------
const main = () =>
commonSorted([
[5, 1, 3, 8, 9, 4, 8, 7],
[3, 5, 9, 8, 4],
[1, 3, 7, 9]
]);
 
 
// --------------------- GENERIC ---------------------
 
// concat :: [[a]] -> [a]
const concat = xs => [].concat(...xs);
 
 
// nub :: [a] -> [a]
const nub = xs => [...new Set(xs)];
 
 
// sort :: Ord a => [a] -> [a]
const sort = xs =>
// An (ascending) sorted copy of xs.
xs.slice().sort();
 
return main();
})();</lang>
{{Out}}
<pre>[1, 3, 4, 5, 7, 8, 9]</pre>
 
=={{header|Julia}}==
9,655

edits