JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/synaptic/1.0.11/synaptic.js"></script>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://wagenaartje.github.io/neataptic/cdn/1.2.23/neataptic.js"></script>
<h1>
Comparison training w/ Synaptic vs. Neataptic
</h1>
<i>Lower iterations = better</i>
<p class="neataptic"></p>
<p class="synaptic"></p>

JavaScript

var dataSets = {
  'XOR' : [
    { input: [0,0], output: [0] },
    { input: [0,1], output: [1] },
    { input: [1,0], output: [1] },
    { input: [1,1], output: [0] }
  ],
  'XNOR' : [
    { input: [0,0], output: [1] },
    { input: [0,1], output: [0] },
    { input: [1,0], output: [0] },
    { input: [1,1], output: [1] }
  ],
  'AND' : [
    { input: [0,0], output: [0] },
    { input: [0,1], output: [0] },
    { input: [1,0], output: [0] },
    { input: [1,1], output: [1] }
  ],
  'OR' : [
    { input: [0,0], output: [0] },
    { input: [0,1], output: [1] },
    { input: [1,0], output: [1] },
    { input: [1,1], output: [1] }
  ]
};

/** TEST NEATAPTIC **/
neataptic.Config.warnings = false;

var iterations = 0;
var time = 0;
for(var dataSet in dataSets){
  dataSet = dataSets[dataSet];

  var network = new neataptic.Architect.Perceptron(2, 4, 1);
  var results = network.train(dataSet, {
    momentum: 0.9,
    iterations: 1000,
    error: 0.03,
    rate: 0.3
  });

  iterations += results.iterations;
  time += results.time;
}

$('.neataptic').append("Neataptic iterations: " + iterations);
$('.neataptic').append(", time: " + time + 'ms');

/** TEST SYNAPTIC **/
var iterations = 0;
var time = 0;
for(var dataSet in dataSets){
  dataSet = dataSets[dataSet];

  var network = new synaptic.Architect.Perceptron(2, 4, 1);
  var trainer = new synaptic.Trainer(network);
  var results = trainer.train(dataSet, {
    iterations: 1000,
    error: 0.03,
    rate: 0.3
  });

  iterations += results.iterations;
  time += results.time;
}

$('.synaptic').append("Synaptic iterations: " + iterations);
$('.synaptic').append(", time: " + time + 'ms');