javascript sort sparse array keep indexes

前端 未结 4 541
野性不改
野性不改 2021-02-02 07:51

What is the best method to sort a sparse array and keep the elements on the same indexes? For example:

a[0] = 3, 
a[1] = 2, 
a[2] = 6,
a[7] = 4,
a[8] = 5,
         


        
4条回答
  •  不知归路
    2021-02-02 08:38

    var arr = [1,2,3,4,5,6,7,8,9,10];
    // functions sort
    function sIncrease(i, ii) { // ascending
     if (i > ii)
     return 1;
     else if (i < ii)
     return -1;
     else
     return 0;
    }
    function sDecrease(i, ii) { //descending
     if (i > ii)
     return -1;
     else if (i < ii)
     return 1;
     else
     return 0;
    }
    function sRand() { // random
     return Math.random() > 0.5 ? 1 : -1;
    }
    arr.sort(sIncrease); // return [1,2,3,4,5,6,7,8,9,10]
    arr.sort(sDecrease); // return [10,9,8,7,6,5,4,3,2,1]
    arr.sort(sRand); // return random array for examle [1,10,3,4,8,6,9,2,7,5]
    

提交回复
热议问题