На данный вопрос уже ответили:
Скрипт меняет первую строку которая совпадает с переменной mx, а нужно заменить последнюю совпадающую строку с переменной mx.
За ответ спасибо заранее.
var str = document.getElementById('inp').value,
mx = '200',
dx = '900';
str = str.replace(mx, dx);
document.getElementById('out').value = str;
<textarea rows="5" cols="10" id="inp">200
500
200
400</textarea>
<textarea rows="5" cols="10" id="out"></textarea>
var str = document.getElementById('inp').value,
mx = '200',
dx = '900';
str = str.split("\n").reverse().join("\n").
replace(mx, dx).
split("\n").reverse().join("\n");
document.getElementById('out').value = str;
<textarea rows="5" cols="10" id="inp">200
500
200
400</textarea>
<textarea rows="5" cols="10" id="out"></textarea>
Можно регуляркой:
str = str.replace(new RegExp(mx + '$'), dx);
Только учтите, что в строках, более сложных, чем 200, может понадобиться экранировать служебные для регулярок символы.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей