gpt4 book ai didi

javascript - 如何在单个 "indexOf"语句中压缩多个 "if"条件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:36:15 24 4
gpt4 key购买 nike

我有一个函数,我想在访问特定的 URL 路径时运行,但在该路径下还有其他页面,我不希望脚本在其中运行。例如:

website.com/names     **This is the only URL where the script should run**
website.com/names/24/places
website.com/names/648/groups
website.com/names/7340/questions

“/names/”后面的数字长度范围在 1 和 n 之间,但后三个示例是 URL 可能采用的唯一进一步路径。我只希望脚本在用户位于“website.com/names”页面时运行,而“页面”后面没有任何内容。截至目前,我已经有了基于 document.URL.indexOf 的“if”语句的功能,但感觉有点乱:

if(document.URL.indexOf("names") >= 0 && (document.URL.indexOf("places") == -1 && document.URL.indexOf("groups") == -1 && document.URL.indexOf("questions") == -1))

这工作得很好,但我一直怀疑可能有更好/更干净的方法来创建“if”语句。有没有一种方法可以压缩我当前的行,或者使用不同的代码以更简单的方式做同样的事情,而不会使事情过于复杂?

最佳答案

有些情况下应该使用正则表达式:)

if (/names$/.test(document.URL))

仅当“names”是 URL 的最后一部分且后面没有任何内容时,此条件才会通过。 $ 表示匹配字符串的结尾。

关于javascript - 如何在单个 "indexOf"语句中压缩多个 "if"条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11144204/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com