Sort an array based on another array of integers

前端 未结 7 711
误落风尘
误落风尘 2020-11-27 21:59

Let\'s say I have an array: [0,3,4,2,5,1].

What I want to do is sort an array such as:

[\"one\", \"two\", \"three\", \"four\", \"five\",         


        
7条回答
  •  执笔经年
    2020-11-27 22:53

    You can do something like this:

    function getSorted(arr, sortArr) {
      var result = [];
      for (var i = 0; i < arr.length; i++) {
        console.log(sortArr[i], arr[i]);
        result[i] = arr[sortArr[i]];
      }
      return result;
    }
    var arr = ["one", "two", "three", "four", "five", "six"];
    var sortArr = [0, 3, 4, 2, 5, 1];
    alert(getSorted(arr, sortArr));

    Note: this assumes the arrays you pass in are equivalent in size, you'd need to add some additional checks if this may not be the case.

提交回复
热议问题