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(',');