// 用的 长度 整除2 , 一根链子 对折 , 遍历 数量更少
function fn_(arr){
let len=arr.length;
[...Array(~~(len/2))].map((v,k)=>{
[arr[k],arr[len-k-1]] = [arr[len-k-1],arr[k]]
})
return arr
}
// 双数
let a = [1,3,5,7,9,11,13,15,17,19]; // len = 10
fn_(a)
// output (10) [19, 17, 15, 13, 11, 9, 7, 5, 3, 1]
/*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
// 单数
let a = [1,3,5,7,9,11,13,15,17,19,21]; // len = 11
fn_(a)
// output (11) [21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1]
网友评论