Javascript 交换两个对象a,b,哪种方式更好?
Javascript swap two objects a, b, which way is better?
得到3种在js中交换两个对象a和b的方法,但不确定它们之间有什么区别,哪个更好?
1.
[a, b] = [b, a]
2.
b = [a, a = b][0]
or
b = [a][a = b, 0]
3.
temp = a;
a = b;
b = temp;
定义"better"...
就个人而言 - 为了便于阅读,我会说第一个例子。
如果我有 2 或 3 个白板,我可能会遵循第二个示例...第三个示例应该是死罪 ;)
IMO,更好的方法是:
var a = 1;
var b = 3;
[a, b] = [b, a];
console.log(a); // 3
console.log(b); // 1
[a,b] = [b,a];
b = [a, a = b][0]; // shorthand version
ES6(Firefox 和Chrome 已经支持(解构赋值数组匹配)):但是速度非常慢
临时变量方法稍微快一些,更通用,也更易读
得到3种在js中交换两个对象a和b的方法,但不确定它们之间有什么区别,哪个更好?
1.
[a, b] = [b, a]
2.
b = [a, a = b][0]
or
b = [a][a = b, 0]
3.
temp = a;
a = b;
b = temp;
定义"better"...
就个人而言 - 为了便于阅读,我会说第一个例子。
如果我有 2 或 3 个白板,我可能会遵循第二个示例...第三个示例应该是死罪 ;)
IMO,更好的方法是:
var a = 1;
var b = 3;
[a, b] = [b, a];
console.log(a); // 3
console.log(b); // 1
[a,b] = [b,a];
b = [a, a = b][0]; // shorthand version
ES6(Firefox 和Chrome 已经支持(解构赋值数组匹配)):但是速度非常慢
临时变量方法稍微快一些,更通用,也更易读