ある配列(ret)の平均値を調べたいのですが、特定(▲▲)の数字だけは平均値に足さないようにします。
以下のように書いたのですが、
「ret.length;」には要素数が残ったままなので、どうもうまくいきません。
var sum=0.0;
for(var i=0; i<ret.length; i++){
if(ret[i]!=▲▲)
sum+=ret[i];
var mean=sum/ret.length;
}
「ret.length」から特定(▲▲)の数字の数を引くにはどうすればいいでしょうか?よろしくお願いいたします。
ループして全要素を見ているのですから、lengthを使わずに、別途カウントしてやればどうでしょう。ソースは下記の通り。
var sum = 0.0; var cnt = 0; for (var i=0; i<ret.length; i++) { if (ret[i] != ▲▲) { sum += ret[i]; cnt++; } } var mean = sum/cnt;
pahooさま、
いつもありがとうございます。
なるほど!
引くことばかりを考えずに、
新たに変数を作って足せば簡単だったのですね。
動作確認もばっちりです。