JavaScript 如何使用数组交换变量
在编码中,交换两个变量的技术是指交换变量的值。在数组中,我们可以交换来自两个不同位置的变量。有无数种方法可以交换数组中的元素。让我们演示一些交换元素的方法,例如:
- 使用临时变量
- 一行交换
- 使用算术运算符
- 使用XOR位运算符
方法1:使用临时变量
我们引入一个新变量,并让它保存两个愿意交换的数组值之一(a)。我们让临时变量保存的数组值重新赋值为第二个数组值(b)。最后,将b(第二个变量)赋值为临时变量(a)的值。
语法:
function swap (int x, int y){
temp = x;
x = y;
y = temp;
}
注意: 在处理数组时,x = a[i],y = a[j],而i和j是两个不同的索引。temp是一个临时变量。
示例:
Javascript
// Swapping array using temporary variable
let array = [10, 2, 5, 12, 7];
temp = array[1];
array[1] = array[0];
array[0] = temp;
console.log("Array after swapping : " + array);
输出
Array after swapping : 2,10,5,12,7
方法2:一行交换
在一行交换中,我们根据索引将要交换的数组值以列表的形式取出,并直接通过改变索引的方式来赋值给数组值。与艰难的方式不同,有一种非常简单的方法可以直接交换变量,同时重新分配相应的值。
语法:
[a[i], a[j]] = [a[j], a[i]]
注意: i和j是数组的任意两个索引。这是一种直接赋值的方法,而不是使用替代变量。
示例: 在下面的代码中,我们交换了索引0和1的值。
JavaScript
// Swapping first two elements of the array
let array = [10, 2, 5, 12, 7];
[array[0], array[1]] = [array[1], array[0]];
console.log("Array after swapping : " + array);
输出
Array after swapping : 2,10,5,12,7
方法3:使用算术运算符
在这种方法中,我们首先将两个数的和取出。假设我们的两个数是’a’和’b’。将两个数字的和赋值给’a’。变量b的值更新为’a-b’,而a的值更新为’a-b’。
语法: 初始值,a = 3, b = 5:
a = a + b // 8
b = a - b // 8-5=3
a = a - b // 8-3=5
最后,a的值将变为5,b的值将变为3。
示例:
Javascript
let a = 3, b = 5;
// Code to swap 'a' and 'b'
// a value changes to 8
a = a + b;
// b value changes to 3
b = a - b;
// a value changes to 5
a = a - b;
console.log(
"After Swapping: x value is : "
+ a + " and b value is :" + b
);
输出
After Swapping: x value is : 5 and b value is :3
方法4:使用异或位运算符
在JavaScript中,位异或(^)运算符用于比较两个操作数并返回一个新的二进制数,如果操作数中的位都不同,则返回1,如果操作数中的位都相同,则返回0。该运算符由“|”符号表示。
示例:
Javascript
let a = 20;
let b = 60;
a = a ^ b;
b = a ^ b;
a = a ^ b;
console.log(a); // Output: 60
console.log(b); // Output: 20
输出
60
20
极客教程