编辑代码

/**
 * @brief 数组累加求和递归
 * @param nums
 * @param index
 * @returns
 */
function arraySum(nums: number[], index: number): number {
    if (index >= nums.length) {
        return 0;
    }
    return nums[index] + arraySum(nums, index + 1);
}

/**
 * @brief 数组累加求和非递归
 * @param nums
 * @returns
 */
function arraySum_non_recursive(nums: number[]): number {
    const { length } = nums;
    let result: number = 0;
    for (let i: number = 0; i < length; ++i) {
        result += nums[i];
    }
    return result;
}

const nums1 = [2, 4, 6];
const nums2 = [2, 4, 6];
console.log(arraySum(nums1, 0));
console.log(arraySum_non_recursive(nums2));