【发布时间】:2016-08-29 21:36:20
【问题描述】:
尝试加入 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 个路径深 (hostName) 时,它应该返回:“hostname”
- 当 2 个路径深 (pathArray[1]) 时,它应该返回:“主机名:ScottTests”
- 当深度为 3 个路径 (pathArray[2]) 时,它应该返回:“hostname: ScottTests: path3”
- 当深度为 4 个路径 (pathArray[3]) 时,它应该返回:“hostname: ScottTests: path3: index.html”
任何帮助将不胜感激
提前致谢, 斯科特
【问题讨论】:
-
您是否尝试将 URL 中的 '/' 替换为 ':'?
-
您可以使用
str = str.slice(0, -1);来切断末尾的:分隔符。请注意,只有在您知道最后会有:时才应该这样做。 -
是的,所以我想将“/”替换为“:”(冒号和空格“)。例如 www.hostname.com/path1/path2/path3 将是 www.hostname.com : path1: path2: path3
标签: javascript arrays