第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

定義帶有 for 循環(huán)和 if 語句的函數(shù)以返回數(shù)組和總和

定義帶有 for 循環(huán)和 if 語句的函數(shù)以返回數(shù)組和總和

慕村225694 2023-08-10 14:30:56
我正在閱讀 Eloquent JavaScipt 第三版來學習 JavaScript。我做了書中的一個練習,并且確信它是正確的。但顯然我錯了,因為它給我的結(jié)果與書中的解決方案不同。目標是編寫一個范圍函數(shù),它接受兩個參數(shù)(start 和 end),并返回一個包含從 start 到(并包括)end 的所有數(shù)字的數(shù)組。編寫一個 sum 函數(shù),它接受一個數(shù)字數(shù)組并返回這些數(shù)字的總和這是我的代碼。function range(a, b, c = a < b ? 1 : -1){  let numbers = [];    if (c > 0) {    for (let i = a; i <= b; i += c) numbers.push(i);  } else {    for (let i = a; i >= a; i += c) numbers.push(i);  }  return numbers;}function sum(array){  let result = 0;  for (let i = 0; i <= array.length; i++){    result += array[i];  }  return result;}下面是書上的解決方案function range(start, end, step = start < end ? 1 : -1) {  let array = [];  if (step > 0) {    for (let i = start; i <= end; i += step) array.push(i);  } else {    for (let i = start; i >= end; i += step) array.push(i);  }  return array;}function sum(array) {  let total = 0;  for (let value of array) {    total += value;  }  return total;}所以,如果我們運行console.log(range(1, 10));console.log(range(5, 2, -1));console.log(sum(range(1, 10)));我的結(jié)果是[1, 2, 3, 4, 5, 6, 7, 8, 9, 10][5]NaN預期結(jié)果是[1, 2, 3, 4, 5, 6, 7, 8, 9, 10][5, 4, 3, 2]55對我來說,代碼看起來是一樣的。我在這里缺少什么?
查看完整描述

1 回答

?
阿晨1998

TA貢獻2037條經(jīng)驗 獲得超6個贊

你的for循環(huán)sum()是錯誤的。它應該是:

for (let i = 0; i < array.length; i++){

請注意我如何使用i < array.length,而不是i <= array.length.

我們希望循環(huán)在遍歷完每個元素后停止。使用意味著當存在且不存在<=時循環(huán)仍然運行。i10array[10]


查看完整回答
反對 回復 2023-08-10
  • 1 回答
  • 0 關注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號