Jab*_*yuS 3 javascript ecmascript-6
let string = 'My name is [~FIRSTNAME] [~LASTNAME]';
let nameArray = ['Peter', 'Parker'];
let patternToBeReplaced = ['[~FIRSTNAME]', '[~LASTNAME]']
Run Code Online (Sandbox Code Playgroud)
我想用string的元素替换namearray,使字符串变成'My name is Peter Parker'
以下是我解决这个问题的方法 -
patternToBeReplaced.forEach(function (match, index) {
var output = string.replace(match, nameArray[index]);
});
Run Code Online (Sandbox Code Playgroud)
但这并没有按预期工作。
您可以使用Array#reduce该字符串进行下一次替换。
let string = 'My name is [~FIRSTNAME] [~LASTNAME]';
let nameArray = ['Peter', 'Parker'];
let patternToBeReplaced = ['[~FIRSTNAME]', '[~LASTNAME]']
string = patternToBeReplaced.reduce((s, m, i) => s.replace(m, nameArray[i]), string);
console.log(string);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
526 次 |
| 最近记录: |