我写的是邮件发送模版,替换 [#**#] 变量
// Replace email variable
function replaceItem(obj, word) {
// Split word with [#
return word.split("[#").map((item, index) => {
// Get split word string, split #]
let replaceArray = item.split("#]");
// If split item into obj, use obj value replace it
if (obj[replaceArray[0]]) {
replaceArray.splice(0, 1, obj[replaceArray[0]])
}
// Return new string to reduce
return replaceArray.join("")
}).reduce((total, value) => {
// Return new string to top map
return total += value
})
}
Example:
let obj = {
username: "Test",
password: "123456"
}
let word = "Hello user your username: [#username#] and your password: [#password#]."
replaceItem(obj, word);
Result:
Hello user your username: Test and your password: 123456.