массив javascript становится неопределенным

#javascript #arrays

#javascript #массивы

Вопрос:

Ввод: nums = [1,2,3,4] Вывод: [1,3,6,10] Объяснение: текущая сумма получается следующим образом: [1, 1 2, 1 2 3, 1 2 3 4] .

 var runningSum = function(nums) {
    const array = new Array (nums.length);
    array[0] = nums[0];
    for( let i=1; i<nums.length; i  ){
        array[i] = nums[i]   array[i-1]
    }
};
  

результат оказывается неопределенным, я не знаю, где я ошибся.

Комментарии:

1. вам нужно будет return array

Ответ №1:

Вы должны вернуть массив

итак

 var runningSum = function(nums) {
    const array = new Array (nums.length);
    array[0] = nums[0];
    for( let i=1; i<nums.length; i  ){
        array[i] = nums[i]   array[i-1]
    }
    return array;
};
  

вместо

 var runningSum = function(nums) {
    const array = new Array (nums.length);
    array[0] = nums[0];
    for( let i=1; i<nums.length; i  ){
        array[i] = nums[i]   array[i-1]
    }
};
  

Ответ №2:

Вот еще один подход к решению проблемы с использованием рекурсии.

 const nums = [1, 2, 3, 4];
const runningSum = (arr, result = [], sum = 0) => {
  if (arr.length === 0) return resu<
  const tmp = sum   arr.shift();
  result.push(tmp);
  return runningSum(arr, result, tmp);
};
console.log(runningSum(nums));