JSFiddle - React, Tailwind, and code Playground

JavaScript

function det(m){
	var size = Math.sqrt(m.length);
	if (size % 1 !== 0) {
    return null;
  }
  if (size === 2) {
    return m[0] * m[3] - m[1] * m[2];
  }
  return m.slice(0, size).reduce(function(t, v, i) {
  	var sub = [];
    for (var r = size; r < m.length; r += size) {
    	sub = sub.concat(
        m.slice(r, r + i), 
        m.slice(r + i + 1, r + size)
      );
    }
    return t + (i % 2 === 0 ? -1 : 1) * v * det(sub);
  }, 0);
}

var matrix = [
	1,2,4,2,-1,3,4,0,1
]; 

console.log(det(matrix));