Ваш фрагмент ужасно неэффективен.Я предполагаю, что у вас есть список элементов с датами в них.Что вы можете сделать, так это перебрать список один раз и проанализировать все даты по временным меткам (числам), а затем просто отсортировать базу списка по этому:
let elements = Array.from(document.querySelectorAll("#container > span"));
let parsedDates = new Map(
elements.map(e => [e, moment(e.textContent, 'DD/MM/YYYY hh:mm:ss a')])
);
// before sorting
console.log(elements.map(e => e.textContent));
elements.sort((a, b) => parsedDates.get(a) - parsedDates.get(b));
// after sorting
console.log(elements.map(e => e.textContent));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
<div id="container">
<span><time>01/01/2001 01:01:02 AM</time></span>
<span><time>01/01/2001 01:01:01 AM</time></span>
<span><time>01/01/2001 01:01:03 AM</time></span>
</div>
Если вам не нужен отсортированный список элементов, а вместо этого вы хотите отсортированный список дат, просто отсортируйте список parsedDates вместо:
let elements = Array.from(document.querySelectorAll("#container > span"));
let parsedDates = elements.map(e => moment(e.textContent, 'DD/MM/YYYY hh:mm:ss a'));
// before sorting
console.log(parsedDates);
parsedDates.sort((a, b) => a - b);
// after sorting
console.log(parsedDates);
// you can even format them
console.log(parsedDates.map(t => t.format('MMMM Do YYYY, h:mm:ss a')));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
<div id="container">
<span><time>01/01/2001 01:01:02 AM</time></span>
<span><time>01/01/2001 01:01:01 AM</time></span>
<span><time>01/01/2001 01:01:03 AM</time></span>
</div>