Sort by date

by Ryan Perez

HTML

<div id="container">
    <div class="item" data-date="2019-01-03">3</div>
    <div class="item" data-date="2019-01-01">1</div>
    <div class="item" data-date="2019-01-02">2</div>
    <div class="item" data-date="2019-01-03">3</div>
    <div class="item" data-date="2019-01-04">4</div>
    <div class="item" data-date="2019-01-05">5</div>
    <div class="item" data-date="2019-01-06">6</div>
    <div class="item" data-date="2019-01-07">7</div>
    <div class="item" data-date="2019-01-08">8</div>
    <div class="item" data-date="2019-01-09">9</div>
    <div class="item" data-date="2019-01-10">10</div>
</div>

<p id="date"></p>

JavaScript

var container = document.getElementById('container');
    var items = container.getElementsByClassName('item');
    var itemsArr = [].slice.call(items);
    itemsArr.sort(function(a, b) {
        return +new Date(a.getAttribute('data-date')) - +new Date(b.getAttribute('data-date'));
    });
    itemsArr.forEach(function(item) {
        container.appendChild(item);
    });