Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[js] 第46天 写一个使两个整数进行交换的方法(不能使用临时变量) #175

Open
haizhilin2013 opened this issue May 31, 2019 · 14 comments
Labels
js JavaScript

Comments

@haizhilin2013
Copy link
Collaborator

第46天 写一个使两个整数进行交换的方法(不能使用临时变量)

@haizhilin2013 haizhilin2013 added the js JavaScript label May 31, 2019
@xiangshuo1992
Copy link
Contributor

利用运算符优先级和0*
b = a + 0 * (a = b);
利用执行顺序

a = a + b;
b = a - b;
a = a - b;

异或取值

a ^= b;
b ^= a;
a ^= b;

@chwech
Copy link

chwech commented Jun 3, 2019

let a = 1, b= 2
[a, b] = [b, a]

@wenyejie
Copy link

wenyejie commented Jun 3, 2019

利用运算符优先级和0*
b = a + 0 * (a = b);
利用执行顺序

a = a + b;
b = a - b;
a = a - b;

异或取值

a ^= b;
b ^= a;
a ^= b;

我去这种骚操作, 我只知道一个解构.

@myprelude
Copy link

  • ES6
let [a,b] = [b,a]  
  • ES5
var a = 1,b = 2;
a = b+a;
b = a-b;
a = a-b;

@chenliwen123
Copy link

  • ES6
let [a,b] = [b,a]  
  • ES5
var a = 1,b = 2;
a = b+a;
b = a-b;
a = a-b;

ES 6 这个 优秀

@seho-dev
Copy link

不能使用临时变量的是什么意思求解答

@vincent-yan
Copy link

vincent-yan commented Sep 16, 2019 via email

@zxl-lxz
Copy link

zxl-lxz commented Mar 31, 2020

let a = 1;
let b = 2;
[a, b] = [b, a];
console.log(a, b); // => 2, 1

@blueRoach
Copy link

let a = 1, b = 2
return [a, b] = [b, a]

@Alex-Li2018
Copy link

  1. 第一种
let b = 1
let c = 2
let tmp
tmp = b
b = c
c = tmp
  1. 第二种
let a = 1;
let b = 2;
[a, b] = [b, a];

@MrZ2019
Copy link

MrZ2019 commented Nov 12, 2020

利用运算符优先级和0*
b = a + 0 * (a = b);
利用执行顺序

a = a + b;
b = a - b;
a = a - b;

异或取值

a ^= b;
b ^= a;
a ^= b;

@OldSixLi
Copy link

分享个新鲜的用法

let a = 0;
let b = 1;
a = [b, b = a][0];
console.log(a, b);

@xiaoqiangz
Copy link

es6 解构
[a,b] = [b,a]

@wyy-g
Copy link

wyy-g commented Sep 19, 2022

ES6解构赋值 [a, b] = [b, a];
ES5 a = a + b;
b = a - b;
a = a - b;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
js JavaScript
Projects
None yet
Development

No branches or pull requests