[英]javascript array turns to be undefined
輸入: 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]
}
};
結果是未定義的,我不知道我哪里做錯了。
你必須返回數組
所以
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]
}
};
這是使用遞歸解決問題的另一種方法。
const nums = [1, 2, 3, 4]; const runningSum = (arr, result = [], sum = 0) => { if (arr.length === 0) return result; const tmp = sum + arr.shift(); result.push(tmp); return runningSum(arr, result, tmp); }; console.log(runningSum(nums));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.