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"]