How to sort array odd numbers in descending order and even numbers in ascending order in JavaScript

1 Answer

0 votes
function print(arr) { 
    for (var i = 0; i < arr.length; i++) 
       document.write(arr[i] + " ");
    document.write("<br />");
}
 
function make_odds_negative(arr) {
    for (var i = 0 ; i <  arr.length ; i++) 
        if (arr[i] % 2 !== 0)
            arr[i] *= -1; 
}
 
function odd_even_sort(arr) { 
    make_odds_negative(arr);
   
    print(arr);
     
    arr.sort();
     
    print(arr);
   
    make_odds_negative(arr);
} 
 
 
var arr = new Array(3, 4, 6, 1, 2, 5);
     
odd_even_sort(arr); 
     
print(arr);    
    

    
  
/*
run:
  
-3 4 6 -1 2 -5
-1 -3 -5 2 4 6
1 3 5 2 4 6 
  
*/

 



answered May 5, 2019 by avibootz
...