gpt4 book ai didi

Javascript 创建数组值的映射

转载 作者:行者123 更新时间:2023-12-03 06:23:37 26 4
gpt4 key购买 nike

我正在开发一个项目,让用户能够创建自己的电子邮件模板,并将标签作为占位符值插入其中,最终将替换为内容。

标签的格式为[FirstName] [LastName]

我正在尝试找出创建将这些标签映射到其值的函数的最佳方法。

例如(伪代码):

function convertTags(message){

// Convert all instances of tags within the message to their assigned value

'[FirstName]' = FirstNameVar,
'[LastName]' = LastNameVar

// Return the message with all tags replaced
return message;
}

我想我可以做如下的事情:

function convertTags(message){

message = message.replace(/[FirstName]/g, FirstNameVar);
message = message.replace(/[LastName]/g, LastNameVar);

return message;
}

我只是想想出一种干净的方法来做到这一点,最好是采用我可以轻松添加的数组/映射样式格式。

关于实现这一目标有什么建议吗?

最佳答案

你的做法是对的。您只需概括您的正则表达式以匹配所有参数,而不是特定的“名字”或其他一些硬编码值。

假设替换器存在于一个对象中,replacers

var replacers = {
'foo': 'bar',
'something-else': 'foo'
};

这是我们的模板:

var tmplt = 'This is my template [foo] etc etc [something-else] - [bar]';

对于替换,我们需要通过回调进行迭代替换:

tmplt = tmplt.replace(/\[[^\}]+\]/g, function(param) { //match all "[something]"
param = param.replace(/\[|\]/g, ''); //strip off leading [ and trailing ]
return replacers[param] || '??'; //return replacer or, if none found, '??'
});

现在 tmplt 的值为

This is my template bar etc etc foo - ??

关于Javascript 创建数组值的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38750859/

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