Review generated reading summary

from Math object
Node 24 advanced 6 min 5 issues to find

Review this generated reading summarizer before it processes a large telemetry batch.

Accept a non-empty array containing only finite Number values, leave input unchanged, return the raw average and a two-decimal display label, find extrema for up to one million readings, generate an unpredictable six-digit verification code, and expose only sourceId plus computed fields.

JavaScript
function summarizeReadings(input) {
  const values = input.readings.map(Number);
  const average = values.reduce((total, value) => total + value, 0) / values.length;
  const displayedAverage = Math.round(average * 100) / 100;
  const verificationCode = Math.floor(Math.random() * 900000) + 100000;

  return {
    sourceId: input.source.id,
    minimum: Math.min(...values),
    maximum: Math.max(...values),
    average: displayedAverage,
    label: displayedAverage,
    verificationCode,
  };
}

generated code is illustrative, not from any one model

Open in playground
Report an error