Open1
JavaScript/TypeScript Tips
文字列配列に対して全置換を行う
const rule = {
火: 'fire',
水: 'water',
風: 'wind'
}
const texts = ['火と水', '水と風邪', '風林火山', '火火火水']
const converted = texts.map((text) => {
return Object.entries(rule).reduce((prev, [key, value]) => {
// ES2021以降ならString.prototype.replaceAllでもOKなはず
const reg = new RegExp(key, 'gm')
return prev.replace(reg, value);
}, text)
})
console.log(converted)
// ["fireとwater", "waterとwind邪", "wind林fire山", "firefirefirewater"]