使用JavaScript的弦垫中心

时间:2019-04-28 13:59:02

标签: javascript center pad

我有一个带换行符的字符串:

character = 'ABC\nDEFGHI\nJKLMNOPQ'

我想做中间垫,左右两侧都留有空白。

  

有可能吗?我需要它来在pos打印机中打印标题信息。

所需的输出:

       ABC
      DEFGHI
     JKLMNOPQ

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您可以

  • 分割字符串
  • 获取所有零件的最大长度
  • 垫的长度为一半,垫的末端为最大长度。

var string = 'ABC\nDEFGHI\nJKLMNOPQ',
    parts = string.split('\n'),
    max = Math.max(...parts.map(({ length }) => length));

parts = parts.map(s => s
    .padStart(s.length + Math.floor((max - s.length) / 2), ' ')
    .padEnd(max, ' ')
);

console.log(parts.join('\n'));