微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 用数组元素替换字符串

let string = 'My name is [~FirsTNAME] [~LASTNAME]';
let nameArray = ['Peter','Parker'];
let patternToBeReplaced = ['[~FirsTNAME]','[~LASTNAME]']

我想用namearray的元素替换字符串,以便字符串变为’我的名字是Peter Parker’

以下是我解决这个问题的方法

patternToBeReplaced.forEach(function (match,index) {
        var output = string.replace(match,nameArray[index]);
});

但这不符合预期.

解决方法

您可以使用 Array#reduce并使用该字符串进行下一次替换.

let string = 'My name is [~FirsTNAME] [~LASTNAME]';
let nameArray = ['Peter','[~LASTNAME]']

string = patternToBeReplaced.reduce((s,m,i) => s.replace(m,nameArray[i]),string);

console.log(string);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐