Вот способ дать вам порядок ваших элементов, затем вы можете использовать фильтры в своем списке, чтобы исключить невидимые элементы или все, что вам нравится.
jQuery Кстати, есть некоторые полезные функции для таких приложений , будет немного чище с этим.
var nList = document.querySelectorAll('li');
var aList = Array.from(nList);
aList.sort(function(a,b) {
var sAOrder = a.style.order ? parseInt(a.style.order) : 0;
var sBOrder = b.style.order ? parseInt(b.style.order) : 0;
return sAOrder-sBOrder;
});
console.log(aList);
<ul style="display: flex; flex-direction: column;">
<li style="order: 2;">1</li>
<li style="order: 12;">2</li>
<li style="order: 0;">select me please</li>
<li>4</li>
</ul>