TypeError:无法调用方法'替换'在compareResults中未定义

时间:2016-04-22 15:56:43

标签: javascript replace

function generateBC(url, separator) {
var splitthis = url.split("/");
var MiddleBit = [];
var RemoveFirstElement = splitthis.shift(); 
var RemoveLastElement  = splitthis.pop(); 
var RemoveLastElementDot = RemoveLastElement.substring(0, RemoveLastElement.indexOf('.')).toUpperCase();
var arrayLength = splitthis.length;
for (var i = 0; i < arrayLength; i++) {
 var elementOk =  splitthis[i].toUpperCase();
var urlOk = "<a href='/pictures/'>" + elementOk + "</a>";
  MiddleBit.push(urlOk);
 }
var ConMiddleBitS = String(MiddleBit).replace(/,/g , separator);
var completed = '<a href="/">HOME</a> ' + separator + ConMiddleBitS + separator + "<span class='active'>" + RemoveLastElementDot + "</span>" ;
document.write(completed);
}
generateBC("mysite.com/pictures/hotels/tens/holidays.html", " : ");

我不知道为什么会这样做

  

TypeError:无法调用方法&#39;替换&#39;未定义的      在.replace()的compareResults`上?

有人可以解释原因,因为我认为上述内容没有错。

感谢 - 你!

1 个答案:

答案 0 :(得分:0)

您似乎正在尝试在阵列上使用String方法。您是否尝试过加入数组并使用replace()方法?

var ConMiddleBitS = MiddleBit.join('').replace(/,/g , separator);

编辑:

如果您尝试从阵列中删除,,则不必使用替换,您只需执行MiddleBit = MiddleBit.join(separator)