JavaScript講座

合計・平均・最大・最小

ABCDE
1nums個数
2合計
3平均
4最大
5最小
6
7
8
9
10
input_elements

A2:A9…<input type="number" name="num">

document.getElementsByName('num')

nums
input_elementsの値配列
  • numsには「空白」を含む
const nums = [];
const input_elements = document.getElementsByName('num');
for(let i=0;i<input_elements.length;i++){
  nums[i]=parseInt(input_elements[i].value);
}
実習用ファイル

データの個数

データ配列に含まれるデータの個数(長さ)は配列.lengthだが、今回は「数値」データの個数を求めたい。

データ配列を前から見ていき、数値データがあれば、個数を1つ増やす。

数値でなければtrue
isNaN()
let count = 0;
for(let i = 0; i < nums.length; i++){
    if(!isNaN(nums[i])){
        count = count + 1;
    }
}

合計

データ配列を前から見ていき、数値データがあれば、加算する。

let sum = 0;
for(let i = 0; i < nums.length; i++){
    if(!isNaN(nums[i])){
        sum = sum + nums[i];
    }
}

最大値

  1. 暫定最大値を配列の最初の数値とする。
  2. 配列中の数値を前から見ていき、暫定最大値より大きい値があれば、それを暫定最大値とする。
最大値を配列の最初の数値とする
let max = 0;
for(let i = 0; i < nums.length; i++){
    if(!isNaN(nums[i])){
       max = nums[i];
       break;
   }
}
配列中の最大値を探す
for(let i = 0; i < nums.length; i++){
   if(max < nums[i]){
       max = nums[i];
   }
}