神戸プログラミングアカデミーのブログ

「未経験から」「スキルアップ」「起業を目指す」無料で学べる神戸のプログラミング学校&学習コミュニティ

データを棒グラフで表現せよ

ただし最小値は-25, 最大値は25とする

const data = [13, -5, 24, -12, 9, 18]

出力結果

                         |+++++++++++++
                    -----|
                         |++++++++++++++++++++++++
             ------------|
                         |+++++++++
                         |++++++++++++++++++

解答例

const data = [13, -5, 24, -12, 9, 18];

for (let i = 0; i < data.length; i++) {
  const num = data[i];
  let str = "";
  if (num < 0) {
    const abs = Math.abs(num);
    str = " ".repeat(25 - abs);
    str += "-".repeat(abs);
    str += "|";
  } else {
    str = " ".repeat(25);
    str += "|";
    str += "+".repeat(num);
  }
  console.log(str);
}