JSFiddle - React, Tailwind, and code Playground
HTML
<p>Insertion sort in JavaScript, ocaml style:</p>
<div id="result"></div>
JavaScript
function sort(list) {
if (list.length === 0) {
return [];
} else {
var hd = list[0];
var tl = list.slice(1);
return insert(hd, sort(tl));
}
}
function insert(item, sorted_list) {
if (sorted_list.length === 0) {
return [item];
} else {
var hd = sorted_list[0];
var tl = sorted_list.slice(1);
if (item <= hd) {
sorted_list.unshift(item);
return sorted_list;
} else {
var r = insert(item, tl);
r.unshift(hd);
return r;
}
}
}
sorted_list = sort([10,3,6,8,3,2,5,9]);
$('result').innerHTML = sorted_list.join(',');