一些例子:
1、交换两个变量的值
/**
* 交换两个变量的值
* @param {*} a 变量1
* @param {*} b 变量2
*/
function swap(a, b) {
var n = a;
a = b;
b = n;
}
console.log(swap(1, 2));
??????无解
2、交换对象两个属性的值
/**
* 交换对象两个属性的值
* @param {Object} obj 对象
* @param {string} key1 属性名1
* @param {string} key2 属性名2
*/
function swap(obj, key1, key2) {
var n = obj[key1];
obj[key1] = obj[key2];
obj[key2] = n;
}
var obj = {
1: "a",
2: "b",
};
swap(obj, 1, 2);
console.log(obj);
3、交换数组两个位置的值
/**
* 交换数组两个位置的值
* @param {Array} arr 数组
* @param {number} i1 下标1
* @param {number} i2 下标2
*/
function swap(arr, i1, i2) {
var n = arr[i1];
arr[i1] = arr[i2];
arr[i2] = n;
}
var arrs = [0, 1, 2];
swap(arrs, 1, 2);
console.log(arrs);
4、修改对象&