十种方案解决JavaScript交换两个变量值,应该最全

本文介绍了JavaScript中九种不同的变量交换方法,包括传统方式、位运算、加减法、解构赋值、数组操作、运算符技巧及对象和数组的巧妙利用。这些方法展示了编程的不同技巧,适合初学者和进阶者学习

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//js两变量交换总结

var v1=-1,v2=-2;

//方式一:传统方式借助第3个变量

var a1 = v1,b1 = v2,temp;

temp = a1;

a1 = b1;

b1 = temp;

console.log(a1, b1);

//方式二:利用位运算的异或

var a2 = v1,b2 = v2;

a2 = a2 ^ b2;

b2 = a2 ^ b2;

a2 = a2 ^ b2;

console.log(a2, b2);

//方式三:利用加法

var a3=v1,b3=v2;

a3=a3+b3;

b3=a3-b3;

a3=a3-b3;

console.log(a3,b3);

//方式四:利用减法

var a4=v1,b4=v2;

a4=b4-a4;//差

b4=b4-a4;//第2个数减去差得第一个数赋值给第二数交换

a4=a4+b4;

console.log(a4,b4);

//方式五:解构赋值

var a5=v1,b5=v2;

[a5,b5]=[b5,a5]

console.log(a5,b5);

//方式六:数组赋值与取值

var a6=v1,b6=v2;

a6=[b6,b6=a6][0];

console.log(a6,b6);

//方式七:赋值与自左向右运算

var a7=v1,b7=v2;

a7=b7+(b7=a7)*0;

console.log(a7,b7);

//方式八:逗号运算符,没有实际价值,纯属方式不同凑数

var a8=v1,b8=v2,temp;

a8=(temp=b8,b8=a8,temp);

console.log(a8,b8);

//方式九:刚从网上看到的,补充一个:思路:把a先变成了一个对象这个对象保存着应该交换后的键值对最后赋值搞定

a = {a:b,b:a};
b = a.b;
a = a.a;

//方式十:和上面的方法很像,只不过对象换成了数组

a = [a,b];
b = a[0];
a = a[1];

这是本人能想到的,有不同解法的或有不当之处敬请指正,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值