我在替换 js 数组中的字符串时遇到了一些困难。我正在尝试记录参数以查看发生了什么,但缺少一 block 拼图。
// - trying to look for substring in array
// - if match is found
// - replace substring without using the native method replace();
var div = $('.insert');
data = ["erf,", "erfeer,rf", "erfer"];
data = data.map(function (x) {
return /""/g.test(x) ? x.replace(/""/g, "") : x
});
function fakeReplace(data, substr, newstr) {
//should show ["erf,", "erfeer,rf", "erfer"];
div.append("data before match replace = " + data);
div.append("\<br>");
div.append("substr = " + substr);
div.append("\<br>");
div.append("newstr = " + newstr);
div.append("\<br>");
return data.split(substr).join(newstr);
}
fakeReplace(data, "erf", "blue");
//should show ["blue,", "blueeer,rf", "blueer"];
div.append("data after fakeReplace is executed = " + data);
最佳答案
您将data
视为函数中的字符串。您可以使用 map()
返回一个替换了每个元素的新数组。
function fakeReplace(data, substr, newstr) {
return data.map(function(s) {
return s.split(substr).join(newstr);
})
}
关于javascript - 不使用原生的replace()方法替换JS数组中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32018739/