首页 > 解决方案 > 将 JavaScript 字符串格式化为 2 列

问题描述

我正在寻找在 JavaScript 中格式化字符串以实现“复制和粘贴”功能。问题是,它的格式不是基于动态值。

我想要的输出是这样的。

Date of Birth:           11/26/1994
Name:                    Lewis Menelaws
Address:                 123 Apple Road

当然,当我包含\t在字符串中时,它不会始终如一地出现。

Date of Birth:    11/26/1994
Name:    Lewis Menelaws
Address:    123 Apple Road

我怎样才能轻松地按照我想要的方式格式化它?

我目前正在像这样格式化我的字符串:'Date of Birth:\t11/26/1994\nName:\tLewis Menelaws\nAddress:\t 123 Apple Road'

我正在使用反应。我正在尝试将其复制到剪贴板,因此我需要一个文本字符串。

标签: javascript

解决方案


根据您的反馈,我更改了答案...

您可以使用“padEnd”:

const content = [
    { columnName: 'Date of Birth:', value: '11/26/1994'},
    { columnName: 'Name:', value:  'Lewis Menelaws'},
    { columnName: 'Address:', value:  '123 Apple Road'},
];

const columnLength = 30;
content.forEach(item => {
    console.log(item.columnName.padEnd(columnLength, ' '), item.value)
});

所以输出将是:

Date of Birth:                 11/26/1994
Name:                          Lewis Menelaws
Address:                       123 Apple Road

推荐阅读