【发布时间】:2016-05-08 14:29:45
【问题描述】:
假设我有一个包含以下内容的数组:"@@@Some Text###","@@@More Text###","@@@Even more Text###","@@@Even Even More Text###"
我想删除@@@ 和### 的所有实例。我尝试使用以下函数执行此操作,但返回的数组完全相同,如 fiddle 中所示:
function removeText(start, end, array) {
var newArray = [];
for (var i = 0; i < array.length; i++) {
var text = array[i];
text.split(start).join("");
text.split(end).join("");
newArray.push(text);
}
return newArray;
}
我认为有一些非常简单的原因我不能让它工作,所以任何帮助将不胜感激。谢谢!
【问题讨论】:
-
我认为在这种情况下你应该更好地使用 Replace 而不是 Split,请参阅此处的实现:w3schools.com/jsref/jsref_replace.asp
-
我假设你已经调试过了。逐行浏览您的代码。例如,越过
test.split(start).join("");行后,检查变量test并查看它的值。 -
您的问题是“删除所有实例”。然而您的变量命名使用
start和end。您只想在开始和结束时删除它们,还是在任何地方删除它们?
标签: javascript arrays string text