粗利の算出

by yshrkn

JavaScript

// F社における、ここ3年の「売上高/売上原価」データです。(単位は1000円です)
var finance = [
	[1177268, 993087],
  [1219780, 1030902],
  [1214081, 1064324]
];

/*
 * 売上総利益をを求める関数
 * 売上総利益の配列を返す
 */
function getGrossMargins(finance) {
  var grossMargins = [];

  for (var i = 0, len1 = finance.length; i < len1; i++) {
    for (var j = 0, len2 = finance[i].length; j < len2; j++) {
      grossMargins[i] = finance[i][j] - finance[i][++j];
    }
  }
  return grossMargins;
}

// 平均売上総利益(売上高-売上原価)を求める関数
function getAverageGrossMargin(finance) {
  var averageGrossMargin = 0;
  var grossMargins = getGrossMargins(finance);
  
  //平均計算
  for (var i = 0, len = grossMargins.length; i < len; i++) {
    averageGrossMargin += grossMargins[i];
  }
  averageGrossMargin /= i;

	return averageGrossMargin;
}

// 最高売上総利益(売上高-売上原価)を求める関数
function getMaxGrossMargin(finance) {
	var maxGrossMargin = 0;
  var grossMargins = getGrossMargins(finance);

  for (var i = 0, len = grossMargins.length; i < len; i++) {
    if (maxGrossMargin < grossMargins[i]) {
      maxGrossMargin = grossMargins[i];
    }
  }
	return maxGrossMargin;
}

console.log("平均売上総利益", getAverageGrossMargin(finance));
console.log("最高売上総利益", getMaxGrossMargin(finance));