【JS】配列の合計とか平均とか並び替えとか

  // ランクごとに配列に格納
  var rankAve = [];
  var rank    = '';
  if (saData.rows instanceof Array) {

    // 順位の高い順にソート
    saData.rows.sort(function(a,b){
      if(a.position < b.position) return -1;
      if(a.position > b.position) return 1;
      return 0;
    });

    saData.rows.forEach(function(row) {
      rank = Math.floor(row.position);
      if (!rankAve) {
        rankAve = [];
      }
      rankAve[rankAve.length] = row.ctr;
    });
  }
 
  // 合計
  var sum  = function(arr) {
    return arr.reduce(function(prev, current, i, arr) {
      return prev+current;
    });
  };  

  // 平均
  var average = function(arr) {
    return sum(arr)/arr.length;
  };

  var rankAveSamAll = [];
  var rankAveSam    = [];
  for (var i in rankAve) {
    rankAveSam.push('"'+i+'":'+average(rankAve[i]));
  }

コメント

タイトルとURLをコピーしました