TypeScript 使用指定的格式字符串和参数返回格式化字符串
时间: 2024-05-12 11:20:21 浏览: 302
在 TypeScript 中,可以使用字符串模板和模板字面量来实现格式化字符串的功能。以下是使用字符串模板和模板字面量实现格式化字符串的示例:
```typescript
// 使用字符串模板
function formatString(str: string, ...args: any[]): string {
return str.replace(/{(\d+)}/g, (match, index) => {
return typeof args[index] !== 'undefined' ? args[index] : match;
});
}
console.log(formatString('Hello, {0}!', 'world')); // output: Hello, world!
console.log(formatString('The answer is {0}, {1}', 42, 'right?')); // output: The answer is 42, right?
// 使用模板字面量
function formatString2(str: string, ...args: any[]): string {
return args.reduce((prev, curr, index) => {
return prev + curr + str[index + 1];
}, str[0]);
}
console.log(formatString2(`Hello, ${'world'}!`)); // output: Hello, world!
console.log(formatString2(`The answer is ${42}, ${'right?'}`)); // output: The answer is 42, right?
```
在这个示例中,我们定义了两个函数 `formatString` 和 `formatString2`,它们分别使用字符串模板和模板字面量来实现格式化字符串的功能。这两个函数都接受一个格式字符串和任意数量的参数,并返回格式化后的字符串。在 `formatString` 中,我们使用了 `replace` 方法来替换字符串中的占位符 `{0}`、`{1}` 等,而在 `formatString2` 中,我们使用了数组的 `reduce` 方法来将格式字符串和参数拼接起来。
阅读全文