/**
* 交替合并并反转两个数组
* @param {Array} arr1 - 第一个数组
* @param {Array} arr2 - 第二个数组
* @returns {Array} - 交替合并并反转后的数组
*/
function alternateReverseArrays(arr1, arr2) {
// 初始化结果数组
let result = [];
// 初始化第一个数组的索引,从最后一个元素开始
let i = arr1.length - 1;
// 初始化第二个数组的索引,从最后一个元素开始
let j = arr2.length - 1;
// 初始化结果数组的索引
let k = 0;
// 当两个数组中至少有一个还有元素时
while (i >= 0 || j >= 0) {
// 如果第一个数组还有元素
if (i >= 0) {
// 将第一个数组的当前元素添加到结果数组中,并将索引减一
result[k++] = arr1[i--];
}
// 如果第二个数组还有元素
if (j >= 0) {
// 将第二个数组的当前元素添加到结果数组中,并将索引减一
result[k++] = arr2[j--];
}
}
// 返回结果数组
return result;
}
// 示例用法
let array1 = [1, 2, 3, 4, 5];
let array2 = ['a', 'b', 'c'];
let output = alternateReverseArrays(array1, array2);
console.log(output); // 输出: [5, 'c', 4, 'b', 3, 'a', 2, 1]