#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));