簡體   English   中英

javascript 數組變為未定義

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM