【发布时间】:2019-11-30 13:03:03
【问题描述】:
var strings1 = ("https://www.letsgodeep.com/deep/deeper/deepest/").split('/')
var strings2 = ("https://www.letsgodeep.com/deep/deeper/deepest/bottom").split('/')
console.log(Object.keys(strings1).length)
console.log(Object.keys(strings2).length)
这两个都返回 7。我假设这是因为字符串 2 不以 '/' 结尾,但通常情况会如此。我想不出一个简单的方法来判断我是否有 string1 或 string2。直到并包括“更深”的所有内容始终具有相同的价值。
更新:感谢您的帮助。 JD 的回答是个好主意,但 hngr18 的解决方案满足了我的需要。 (仔细检查我们是否在正确的路径上 && 如果长度大于 6,我们就在“底部”)
if ((location.href).split('/')[3] == 'deep' && Array.from(new Set(location.href.split('/'))).length > 6)
【问题讨论】:
-
好吧,
strings1.endsWith('/') === true -
你可以去掉斜杠或者检查最后一个字符串是否以斜杠结尾
-
操作相同长度的数组并不意味着这些数组的包含相同。 AFAIU,对于第一个
strings1,数组中的最后一个字符串将为空,而对于strings2,las 字符串将为bottom。
标签: javascript