js - list의 연산

js - list의 연산

QA

js - list의 연산

본문

list = [

            [1,2,3,4,5, 6]

         , [1,2,3,4,5, 6]

         ,[1,2,3,4,5, 6]

         ,[1,2,3,4,5, 6]

]

 

저런 list가 있다고 칠때

 

list의 평균을 구하고 싶습니다.

 

최종 : [ 1,2,3,4,5,6]

#js

이 질문에 댓글 쓰기 :

답변 2

질문을 잘 모르겠네요.

 

[1,2,3,4,5,6] 에서 첫번째 값은 다른 배열의 첫번째끼리 더해서 평균을 내고, 2번째 값은 다른 배열의 2번째 끼리 더해서 평균을 내고.. 그러는것일까요

 

좀 무식하게 짜봤습니다만..


list = [  
  [1,2,3,4,5,6],
  [1,2,3,4,5,6,7,8,9],
  [2,5,1,7,4,5],
  [1,2,3,4,5,6]
];
 
var result = [];
for(i=0; i<list.length;i++) {
  for(ii=0; ii<list[i].length;ii++) {
    if(result[ii] == undefined)
      result[ii] = [0, 0];
    result[ii][0] += list[i][ii];
    result[ii][1]++;
  }
}

 

이렇게 하면 result[0] = [0번째 순서 수의 합, 0번째가 속해있는 array 개수];

가 되는데..

 

이후에 result[0][0] / result[0][1] 하시면.. 총 합 나누기 몇개의 배열에 속해있었나.. 평균..

 

 

 

 

 

참고로 추가합니다.


<script>
'use strict';
var i, j, sum = [], ave = []; // 합계, 평균 배열
var list = [
  [1, 2, 3, 4, 5, 6]
  , [1, 2, 3, 4, 5, 6]
  , [1, 2, 3, 4, 5, 6]
  , [1, 2, 3, 4, 5, 6]
];
for (i in list) {
  for (j in list[i]) {
    if ( typeof sum[j]==='undefined' ) sum[j] = 0; // 초기화
    // if ( sum[j]==undefined ) sum[j] = 0;
    sum[j]+= list[i][j]; // 위치별 합계
  }
}
for (i in sum) ave.push(sum[i]/list.length); // 평균
console.log(ave); // [1, 2, 3, 4, 5, 6]
</script>
답변을 작성하시기 전에 로그인 해주세요.
전체 298
QA 내용 검색
filter #js ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT