How to swap two numbers without using third variable in JavaScript

6 Answers

0 votes
let a = 5, b = 13;
      
a = a + b;
b = a - b;
a = a - b;   
 
console.log("a = " + a);
console.log("b = " + b);

 
 
/*
run:
  
a = 13
b = 5
   
*/

 



answered May 11, 2017 by avibootz
edited Jun 23, 2024 by avibootz
0 votes
let a = 5, b = 13;
      
a = a + b - (b = a);    
 
console.log("a = " + a);
console.log("b = " + b);

 
 
/*
run:
  
a = 13
b = 5
   
*/

 



answered May 11, 2017 by avibootz
edited Jun 23, 2024 by avibootz
0 votes
let a:number = 7, b = 13;
      
a = a + b, b = a - b, a = a - b;
 
console.log("a = " + a);
console.log("b = " + b);

 
 
/*
run:
  
"a = 13" 
"b = 7" 
   
*/

 



answered May 11, 2017 by avibootz
edited Jun 23, 2024 by avibootz
0 votes
let a = 5, b = 13;
      
a = a ^ b;
b = a ^ b;
a = b ^ a; 
 
console.log("a = " + a);
console.log("b = " + b);

 
 
/*
run:
  
a = 13
b = 5
   
*/

 



answered May 11, 2017 by avibootz
edited Jun 23, 2024 by avibootz
0 votes
let a = 5, b = 13;
      
a = b - ~a - 1;
b = a + ~b + 1;
a = a + ~b + 1;
 
console.log("a = " + a);
console.log("b = " + b);

 
 
/*
run:
  
a = 13
b = 5
   
*/

 



answered May 11, 2017 by avibootz
edited Jun 23, 2024 by avibootz
0 votes
let a = 5, b = 13;
      
[a, b] = [b, a];
 
console.log("a = " + a);
console.log("b = " + b);

 
 
/*
run:
  
a = 13
b = 5
   
*/

 



answered Jun 23, 2024 by avibootz
...