- 请实现一个递归版本的reverse函数,反转一个数组。
参考答案
function reverse(A){return A.length ?reverse( A.slice(1) ).concat(A[0]) : A}function reverse(A){const [f, ...tail] = Areturn [...(tail.length ? reverse(tail) : []), f]}// 尾递归function reverse(A, i = 0){if(i < A.length / 2) {const t = A[i]A[i] = A[A.length - i - 1]A[A.length - i - 1] = treturn reverse(A, i+1)}}
