我想建立一個功能
- 將一個數字陣列作為輸入。
- 計算輸入陣列中數字的運行總和。
- 回傳一個包含運行總和的新陣列。
例如,如果我以 [1,2,3,4] 的輸入呼叫此函式,則輸出應為 [1,3,6,10]。但是,當我運行我的代碼時,它回傳一個空陣列。
以下是我到目前為止得到的代碼。
function sumOfArray(nums) {
var output = []; // tip: initialize like let output = [nums?.[0] ?? 0];
for(let i = 1 ; i < nums.length ; i ) {
nums[i] = nums[i] nums[i-1];
output.push(nums[i]);
}
return output;
};
console.log(
'calling sumOfArray([1,2,3,4])',
sumOfArray([1,2,3,4])
);
uj5u.com熱心網友回復:
const input = [1,2,3,4]
const theFunctionYouWannaWrite = (acc, v) => {
acc.push(v (acc[acc.length - 1] || 0))
return acc;
}
const output = input.reduce(theFunctionYouWannaWrite, [])
console.log(output)
如果你想用它for
const input = [1,2,3,4]
const theFunctionYouWannaWrite = (acc, v) => {
acc.push(v (acc[acc.length - 1] || 0))
return acc;
}
function sumOfArray(nums) {
var output = [];
for(let i = 0 ; i < nums.length ; i ) {
theFunctionYouWannaWrite(output, nums[i])
}
return output;
};
console.log(sumOfArray(input))
uj5u.com熱心網友回復:
只需在陣列初始化中添加第一項,一切正常。
function sumOfArray(nums) {
var output = [nums[0]]; // tip: initialize like let output = [nums?.[0] ?? 0];
for(let i = 1 ; i < nums.length ; i ) {
nums[i] = nums[i] nums[i-1];
output.push(nums[i]);
}
return output;
};
console.log(
'calling sumOfArray([1,2,3,4])',
sumOfArray([1,2,3,4])
);
uj5u.com熱心網友回復:
let sum=0, nums=[1,2,3,4], res=[];
nums.forEach((item, index, arr)=>{sum =arr[index]; res.push(sum)})
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/485588.html
標籤:javascript 数组
