How to move all negative elements to the end of array in JavaScript

2 Answers

0 votes
function move_negative_to_end(arr) { 
    const size = arr.length;
    let temp = [];
 
    let j = 0; 
    for (let i = 0; i < size ; i++) 
        if (arr[i] >= 0 ) 
            temp[j++] = arr[i]; 
   
    if (j == size || j == 0) 
        return; 
   
    for (let i = 0 ; i < size ; i++) 
        if (arr[i] < 0) 
            temp[j++] = arr[i]; 
 
    for (let i = 0; i < size; i++) 
       arr[i] = temp[i];
} 


const arr = [-1, 8, -21, -3, -2, 7, 15, -30, -40, 4, 6, 9];
   
move_negative_to_end(arr); 
 
console.log(arr);




/*
run:

[8, 7, 15, 4, 6, 9, -1, -21, -3, -2, -30, -40]

*/

 



answered Nov 4, 2021 by avibootz
edited Nov 27, 2021 by avibootz
0 votes
function move_negative_to_end(arr) { 
    const size = arr.length;
    
    let j = 0;
    for (let i = 0; i < size; i++) {
        if (arr[i] >= 0) {
           let tmp = arr[i];
           arr[i] = arr[j];
           arr[j] = tmp;
           j++;
        }
    }
} 


const arr = [-1, 8, -21, -3, -2, 7, 15, -30, -40, 4, 6, 9];
   
move_negative_to_end(arr); 
 
console.log(arr);




/*
run:

[8, 7, 15, 4, 6, 9, -21, -30, -40, -3, -2, -1]

*/

 



answered Nov 4, 2021 by avibootz
edited Nov 27, 2021 by avibootz

Related questions

1 answer 142 views
2 answers 172 views
2 answers 162 views
2 answers 148 views
2 answers 158 views
2 answers 163 views
...