javascript - 递归地在数组之间交换元素javascript
问题描述
如何递归地将最后 2 个数组元素与其他数组的前 2 个元素交换?
例子:
arr1 : [1,2,3,4,5]
arr2 : [6,7,8,9,10]
arr3 : [11,12,13,14,15]
arr4 : [16,17,18,19,20]
......
期望的结果:
arr1 : [1,2,3,6,7]
arr2 : [4,5,8,11,12]
arr3 : [9,10,13,16,17]
arr4 : [14,15,18,...]
解决方案
像这样的东西?
var arrays = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]];
console.log(arrays);
if(arrays.length > 1) {
var swapping = [];
for(i = 0; i < (arrays.length - 1); i++) {
swapping = [arrays[i][arrays[i].length - 1], arrays[i][arrays[i].length - 2]];
arrays[i][arrays[i].length - 1] = arrays[i + 1][1];
arrays[i][arrays[i].length - 2] = arrays[i + 1][0];
arrays[i + 1][1] = swapping[0];
arrays[i + 1][0] = swapping[1];
};
};
console.log(arrays);