반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
let resData = {};
let data = [{a:1,b:2},{a:5,b:2},{a:10,b:2}];
 
// a 객체만 추출
const array = data.map(o => (o['a'] ? parseInt(o['a']) : 0)); 
//max
resData.max = Math.max.apply(Math, array);
//min
resData.min = Math.min.apply(Math, array);
//avg
let average = arr => arr.reduce((p, c) => p + c, 0/ arr.length;
resData.avg = Math.floor(average(array), 1).toFixed(1);
//stdev
const n = array.length;
const mean = array.reduce((a, b) => a + b, 0/ n;
resData.stdev = Math.sqrt(array.map(x => Math.pow(x - mean, 2)).reduce((a, b) => a + b, 0/ n).toFixed(1);
cs

 

알게된 사실

 

-배열에 들어있는 객체의경우

map 을 이용해 특정 객체의 값만 배열로 재구성 할수있다

 

-reduce를 이용하여 통계식을 조금더 간결하게 표현할수 있다

반응형

+ Recent posts