javascript - 使用 javascript 连接 url 的不同部分并添加分隔符(最后一个数组变量末尾除外)

标签 javascript arrays

尝试连接 url 的不同部分,并为“:”(冒号空格)分隔符添加分隔符,该分隔符不会添加到可能更改的最后一个数组值中。这用于网络分析数据层。

我尝试使用下面的方法,但是,如果我有一个小于 4 的数组,并且会将分隔符添加到最后一个变量的末尾,则它不起作用。

输入:

var pathArray = window.location.pathname.split( '/' );
var siteDomain = hostName; // returns the URL hostname of the current page.
var siteSection2 = pathArray[1]; /// returns the second-level directory path of the current page.
var siteSection3 = pathArray[2]; // returns the third-level directory path of the current page.
var siteSection4 = pathArray[3]; // returns the fourth-level directory path of the current page.

第一次尝试 - 尝试了以下方法,但它删除了最后一个路径 (pathArray[3])

var pageNameString = [hostName, pathArray[1], pathArray[2], pathArray[3]];
var pageName = pageNameString.slice(0, -1).join(': ');

第二次尝试 - 如果路径小于 4,仍将分隔符添加到末尾

var pageNameString = [hostName, pathArray[1], pathArray[2], pathArray[3]];
var pageName = pageNameString.slice(0, 4).join(': ');

第三次尝试 - 仍然将分隔符添加到末尾

var pageName = [hostName, pathArray[1], pathArray[2], pathArray[3]].join(': ');

所需输出:

  • 当 1 个路径深(主机名)时,它应该返回:“主机名”
  • 当 2 个路径深时 (pathArray[1]),它应该返回:“主机名:ScottTests”
  • 当 3 个路径深时 (pathArray[2]),它应该返回:“hostname: ScottTests: path3”
  • 当 4 个路径深 (pathArray[3]) 时,它应该返回:“主机名:ScottTests:path3:index.html”

任何帮助将不胜感激

提前致谢, 斯科特

最佳答案

鉴于您对我的评论问题的答复 - 我认为您需要做的是以下事情:

var slash = '/';
//we want to search for slash, globally
var regEx= new RegExp(slash, 'g');
//now replace the slash with ': ' as desired
var pageName = urlString.replace(regEx, ': ').trim();
//just in case we have : at the end
pageName = (urlString.endsWith(':')? pageName .slice(0, -1): pageName ); 

请尝试一下,并告诉我们这是否有帮助。 您可以看一下 Javascript 中替换函数的一些示例 here.

关于javascript - 使用 javascript 连接 url 的不同部分并添加分隔符(最后一个数组变量末尾除外),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39215590/

相关文章:

javascript - '类型错误: Cannot set properties of undefined (setting '0' )'----Array assignment

c++ - 以字节形式读取文件并存储到确定性 8 位值的数组中

javascript - 正确地打破 firebase forEach 循环

javascript - 如何将 Angular UI-Grid 过滤后的完整数据导出到 Excel 中

javascript - 遇到 JSON 和 Javascript 问题

javascript - NodeJS 未在浏览器中触发保存文件对话框/EmberJS 未接收服务器发送的文件

javascript - 使用 Jquery 更改 CSS,而不是动态的

C# 数组 - string[][] 与 string[,]

Java 对多个字符串执行相同的操作

c# - 在一个 Json 中创建多个表而不使用 JArray?