JSFiddle - React, Tailwind, and code Playground

by eelyafi

JavaScript

const reorder = (A, O) => {
	const ln = O.length;
  let i = 0;

	while (i < ln) {
  	if (O[i] === i) {
    	i = i + 1;
    } else {
    	let newPos = O[i];
      
      let storeElem = A[newPos];
      A[newPos] = A[i];
      A[i] = storeElem;
      
      let swapPos = O[i];
      O[i] = O[newPos];
      O[newPos] = swapPos;
    }
  }
  return A;
  
} 
const A = ['E', 'A', 'B', 'D', 'C'];
const O = [4, 0 ,1, 3, 2];
console.log(reorder(A, O));