Move an array element from one array position to another

https://stackoverflow.com/a/6470794/802435

by codemeasandwich

HTML

<script src="//code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<link rel="stylesheet" href="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- 
  Bootstrap docs: https://getbootstrap.com/docs
-->

<div class="container">
  <div class="row">
    <div class="col" onclick="test();" style="cursor:pointer;">
      click here to test
    </div>
  </div>
  <div>
    <i>Open Console to see results</i>
    </div>
</div>

CSS

.row {
  background: #f8f9fa;
  margin-top: 20px;
}

.col {
  border: solid 1px #6c757d;
  padding: 10px;
}

JavaScript

function arraymove(arr, fromIndex, toIndex) {
    var element = arr[fromIndex];
    arr = [...arr]
    arr.splice(fromIndex, 1);
    arr.splice(toIndex, 0, element);
    return arr
}

function test()
{
		var AR = ["A", "B", "C", "D", "E", "F"];
    console.log(AR);
   // var AR2 = AR.slice(); // copy
   var N = AR.length;
    for(var i=0; i<N; i++)
    {
    		for(var j=0; j<N; j++)
        {
        		console.log("("+i+","+j+")");
        		var AR2 = AR.slice();
            console.log(AR2);
            arraymove(AR2, i, j);
            console.log(AR2);
            arraymove(AR2, j, i);
            console.log(AR2);
        }
    }
}