JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://multidatespickr.sourceforge.net/jquery-ui.multidatespicker.js"></script>
<input id="datePick" type="text" />
JavaScript
$('#datePick').multiDatesPicker({
dateFormat: "yy-m-d",
onSelect: function(str) {
var arrayDeDatas = this.value.split(',').map(function(str) {
return str.trim();
});
var invertidas = inverterEscolha(arrayDeDatas);
alert(JSON.stringify(invertidas, null, 4));
}
});
function dataFormatada(d) {
return [d.getFullYear(), d.getMonth() + 1, d.getDate()].join('-');
}
function inverterEscolha(datas) {
var inicio = datas.slice(0, 1)[0].split('-').map(Number);
var fim = datas.slice(-1)[0].split('-').map(Number);
var data = new Date(inicio[0], inicio[1] - 1);
var limite = new Date(fim[0], fim[1], 0);
var datasInvertidas = [];
var contador = 0;
while (data < limite) {
contador++;
data = new Date(inicio[0], inicio[1] - 1, contador);
var str = dataFormatada(data);
if (datas.indexOf(str) == -1) datasInvertidas.push(data);
}
return datasInvertidas.map(dataFormatada);
}