亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有一種方法可以計算數組中偶數的總和?

有沒有一種方法可以計算數組中偶數的總和?

陪伴而非守候 2023-09-28 09:59:22
我一直在嘗試找到一種方法來計算數組中偶數或奇數的總和。我弄清楚了如何在控制臺中實際僅輸出偶數或奇數,但我不確定如何計算偶數或奇數的總和。我找到的唯一解決方案是計算整個數組我的代碼很可能沒有遵循最佳的代碼實踐,所以請對我寬容一點,但請隨意指出更好的方法來實現結果。我洗耳恭聽。下面的代碼給出了數組中當前的偶數并將它們輸出到瀏覽器控制臺這就是我目前所處的位置    <!DOCTYPE html>        <html>    <head>      <meta charset="UTF-8">      <title>For - loop </title>      <script>     window.onload = startFunction;    function startFunction()    {        document.getElementById("buttonOne").onclick = buttonFunction;    }    function buttonFunction ()    {        var list=[22,45,63,223,12,56,89];        var number = 0;        var rest = 0;        var counter;                for(counter=0;counter<20;counter+=1)        {                    number = list[counter];                        rest = number%2;                        if(rest == 0)  //type (rest==0) to find even numbers in the array            {                console.log(number);            }        }    }  </script></head><body>    <button id="buttonOne">Enter</button></body></html>
查看完整描述

3 回答

?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

您可以使用 非常簡單地完成此操作Array#reduce。


const list=[22,45,63,223,12,56,89];

let evenSum = list.reduce((acc,curr)=>acc + (curr % 2 == 0 ? curr : 0), 0);

console.log('Even sum:', evenSum);

let oddSum = list.reduce((acc,curr)=>acc + (curr % 2 == 1 ? curr : 0), 0);

console.log('Odd sum:', oddSum);


如果性能特別重要,您可以通過一次reduce操作計算兩個總和。


const list=[22,45,63,223,12,56,89];

let [evenSum, oddSum] = list.reduce((acc,curr)=>(acc[curr % 2] += curr, acc), [0, 0]);

console.log('Even sum:', evenSum);

console.log('Odd sum:', oddSum);


查看完整回答
反對 回復 2023-09-28
?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

let list = [22,45,63,223,12,56,89];

let number = 0, rest = 0, result = 0;


for(let counter = 0; counter < 20; counter += 1) {

  number = list[counter];

  rest = number%2;

  if(rest == 0) {

    result += number; //here

  }

}


console.log(result); //printing result


查看完整回答
反對 回復 2023-09-28
?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

從技術上講,您可以循環遍歷數組,如果均勻,則將其添加到變量中,否則將其添加到不同的變量中。


list = [22, 45, 63, 223, 12, 56, 89]

evensum = 0;

oddsum = 0;


list.forEach(function(e) {

  if (e % 2 == 0) {

    evensum += e;

  } else{

    oddsum += e;

  }

});


console.log(evensum, oddsum)


查看完整回答
反對 回復 2023-09-28
  • 3 回答
  • 0 關注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號