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);

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...