前提・実現したいこと
ここに質問の内容を詳しく書いてください。
HTMLで1から指定した数までの合計を求めるページを作っています。
for文を使いましたが、1-10までのすべての数を足してほしいのに、そのまま
10だけが出てきます。等差数列を使えばlengthが使えるようになると思ってコピペしてみましたが、動きません。
発生している問題・エラーメッセージ
練習2.html:12 Uncaught TypeError: Array.spply is not a function at calcSum (練習2.html:12) at HTMLButtonElement.onclick (練習2.html:25) calcSum @ 練習2.html:12 onclick @ 練習2.html:25
該当のソースコード
javascript
1<html> 2 <head> 3 <meta charset="UTF-8"> 4 <script> 5 function calcSum(){ 6 let max=document.getElementById("max").value; 7 let total=max; 8 9 let length=val; 10 let initial=0; 11 let diff=1; 12 let arr=Array.spply(null,new Array(length)).map(function(v,i){return initial+(i*diff);}); 13 14 for(let i=0; i<val.length;i++){ 15 sum+=val(i); 16 } 17 document.getElementById("val").textContent=max; 18 document.getElementById("sum").textContent=total; 19 } 20 </script> 21 22 <body> 23 <h2>1から<span id="val"></span>の合計は<span id="sum"></span></h2> 24 <input id="max"value=10> 25 <button onclick="calcSum()">合計</button> 26 </body> 27 </head> 28</html>
試したこと
sumをvalに書き換えること、let lengthからlet arrまで書き加えること。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/07 13:41
2020/10/07 13:54
2020/10/07 23:33