【发布时间】:2020-11-13 02:50:55
【问题描述】:
我需要将一个字符串转换为一个包含 4 个元素的数组,每个元素最多包含 4 个字符。
-
"1234567812345678"->["1234", "5678", "1234", "5678"] -
"12345678123"->["1234", "5678", "123", ""] -
""->["", "", "", ""]
我希望它是单行的原因是我需要将它放入 vue 模板字符串中,因此它需要是一个表达式而不是一系列语句。
我不想创建一个专门的函数来将单个参数转换为另一种形式。
我设法将字符串拆分为一个数组,但我不知道如何用'' 填充空槽,这是一个简化的 sn-p:
const creditcard = '12345678123';
// need a one liner
const groups = creditcard.split(/(?<=^(?:.{4})+)/);
console.log(groups);
【问题讨论】:
-
const groups = creditcard.padEnd(16, ' ').split(/(?<=^(?:.{4})+)/).map(v => v.trim());
标签: javascript one-liner