How to rearrange an array by indices array?

前端 未结 9 2024
故里飘歌
故里飘歌 2021-02-01 19:12

Given an array arr and an array of indices ind, I\'d like to rearrange arr in-place to satisfy the given indices. For exa

9条回答
  •  青春惊慌失措
    2021-02-01 19:56

    var arr = ["A", "B", "C", "D", "E", "F"];
    var ind = [4, 0, 5, 2, 1, 3];
    
    function rearrange(arr, ind){
      var map = [];
      for (var i = 0; i < arr.length; i++)   map[ind[i]] = arr[i];
      for (var i = 0; i < arr.length; i++)   arr[i] = map[i];
    }
    
    rearrange(arr, ind);
    
    console.log(arr);
    

    That works but, because I'm not a smart developper, I assume it's probably not the fastest algorithm.

提交回复
热议问题