昨天和后端对接接口时遇需要将字符串中的占位符用某个值代替,这里记录下来。
// 在String原型对象上添加format方法
String.prototype.format = function(){
let str = this;
if(arguments.length == 0){
return str;
}else{
Object.keys(arguments).forEach((item,index)=>{
str = str.replace(/\?/,arguments[item])
})
return str
}
}
// 后端返回的数据
let data = [
{
template:'商户收支?元,本月支出?元。',
income:3000,
pay:1500,
type:1
},
{
template:'商户门店费用?元,本月水电费用?元。',
store:30000,
water:800,
type:2
}
]
data.forEach((item,index)=>{
item.type == 1 && console.log(item.template.format(item.income,item.pay)); //商户收支3000元,本月支出1500元。
item.type == 2 && console.log(item.template.format(item.store,item.water)); // 商户门店费用30000元,本月水电费用800元。
})
以上就是我对符串使用占位符拼接的理解,如果文章由于我学识浅薄,导致您发现有严重谬误的地方,请一定在评论中指出,我会在第一时间修正我的文章,以避免误人子弟。