gpt4 book ai didi

javascript - 创建字符串模板并替换为数组内容

转载 作者:太空宇宙 更新时间:2023-11-04 03:01:53 25 4
gpt4 key购买 nike

假设我有一个像这样的字符串:

const m = 'Map<?,?>';

和一个像这样的数组:

const types = ['string', 'boolean'];

我希望生成:

const r = 'Map<string,boolean>'

我该怎么做? 注意,我不需要在模板字符串中使用问号,我可以使用不同的字符,也许像这样:

const m = 'Map<%s,%s>';

另请注意,我无法使用这种性质的 ES6 模板字符串 ${} 因为我的模板未包装在函数中。

我相信这将在 Node.js 中工作:

util.format(m, ...types);

但我想我正在寻找的是一种使用问号字符 (?) 而不是使用 %s 的方法。

最佳答案

最小的方法可能是使用 reduce 的组合和 replace .

替换仅替换第一个找到的位置,而减少可以轻松迭代给定的替换。

const m = 'Map<?,?>';

const types = ['string', 'boolean'];

const n = types.reduce((n, t) => n.replace('?', t), m);
console.log(n);

或者将其形式化为函数:

function format(str, key, replacements){
return replacements.reduce((s, t) => s.replace(k, t), str);
}

关于javascript - 创建字符串模板并替换为数组内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53421388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com