サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
![[Javascript] 一次元配列から最大値、最小値、平均、合計、分散、標準偏差を算出する](https://d3vjgmbflpysnn.cloudfront.net/blogs/blog-cover-image%2F9c0cbdbb-1146-4015-a9d8-33a091fe098a%2F%E6%AD%A3%E8%A6%8F%E5%88%86%E5%B8%83.png)
const array = [10,15,20,5,35,25,30];
const max = arr => arr.sort((a,b) => b-a)[0];
console.log(max(array));
// 35
const min = arr => arr.sort((a,b) => a-b)[0];
console.log(min(array));
// 5
const sum = arr => arr.reduce((a,b) => a+b);
console.log(sum(array));
// 140
const avr = arr => arr.reduce((a,b) => a+b)/arr.length;
console.log(avr(array));
// 20
const variance = arr => {
const avr = arr.reduce((a,b) => a+b)/arr.length;
return arr.reduce((a,c) => (a + ((c - avr) ** 2)),0)/arr.length;
};
console.log(variance(array));
// 100.0
const stdev = arr => {
const avr = arr.reduce((a,b) => a+b)/arr.length;
const Var = arr.reduce((a,b) => (a + ((c - avr) ** 2)),0)/arr.length;
return Math.sqrt(Var);
};
console.log(max(array));
// 10.0
// varianceが既に定義されていれば、以下のようにワンライナーで記述できます。
const stdev = arr => Math.sqrt(variance(arr));
const max = Math.max(...arr);
console.log(max);
// 35
const min = Math.min(...arr);
console.log(min);
// 5