JSFiddle - React, Tailwind, and code Playground

by aliaksej

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id=list>
  <li id=i1>1</li>
  <li id=i2>2</li>
  <li id=i3>3</li>
  <li id=i4>4</li>
</ul>

JavaScript

function setElementsOrder(order, container) {
  var length = order.length;
	order.forEach(function(val, index) {
  	var el = $('#i'  + val);
  	if (index === 0) {
    	el.prependTo(list);
    } else if (index === length - 1) {
    	el.appendTo(list);
    } else {
    	var prevEl = container.children[index - 1];
      el.insertAfter(prevEl);
    }
  });
}

setElementsOrder([3,2,1,4], list);