How to rearrange an array and set arr[arr[index]] to index in Node.js

1 Answer

0 votes
function rearrange_array(arr) {
    let tmp = [];
  
    for (let i = 0; i < arr.length; i++) {
        tmp[arr[i]] = i;
    }
  
    for (let i = 0; i < arr.length; i++) {
        arr[i] = tmp[i];
    }
}
  

const arr = [ 3, 1, 0, 4, 5, 2 ];
     
// arr[arr[0]] = 3 -> arr[3] = 0
// arr[arr[1]] = 1 -> arr[1] = 1
// arr[arr[2]] = 0 -> arr[0] = 2
// arr[arr[3]] = 4 -> arr[4] = 3
// arr[arr[4]] = 5 -> arr[5] = 4
// arr[arr[5]] = 2 -> arr[2] = 5
     
 rearrange_array(arr);
  
 console.log(arr);
 
 
 
 
/*
run:
 
[ 2, 1, 5, 0, 3, 4 ]
 
*/

 



answered Aug 16, 2022 by avibootz
...