SniberbS
Reactiflux3y ago
13 replies
Sniberb

snowberb – 10-49 Oct 6

Focusing only in code readability, maintainability and quality, which piece of code would you choose? (Both do the same and work)
The objective is to calculate the bounds of a point chart
Piece 1:
  const bounds = { maxX: 0, minX: 0, maxY: 0, minY: 0 };
  for (const index in dataArray) {
    const { return: returnData, volatility } = dataArray[index];

    if (volatility > bounds.maxX) bounds.maxX = volatility;
    if (volatility < bounds.minX) bounds.minX = volatility;
    if (returnData > bounds.maxY) bounds.maxY = returnData;
    if (returnData < bounds.minY) bounds.minY = returnData;
  }


Piece 2:
 export const findMinMax = (arr: { low: number; high: number }[]) => {
  if (!arr.length) return [0, 0];

  let min = arr[0].low,
    max = arr[0].high;

  for (let i = 1, len = arr.length; i < len; i++) {
    const v = arr[i].low;

    min = v < min ? v : min;
    max = v > max ? v : max;
  }

  return [min, max];
};

  const ranges_1 = findMinMax(
    dataArray.map(({ return: returnData, volatility }) => ({
      low: returnData || 0,
      high: volatility || 0,
    })) || [],
  );
  const ranges_2 = findMinMax(
    dataArray.map(({ return: returnData, volatility }) => ({
      low: volatility || 0,
      high: returnData || 0,
    })) || [],
  );
  const bounds = { maxX: ranges_2[1], minX: ranges_1[0], maxY: ranges_1[1], minY: ranges_2[0] };
Was this page helpful?