【发布时间】:2021-03-15 21:28:10
【问题描述】:
鉴于这两个示例网址和代码。如何使用数组作为参考来检查值是否在 UTM 参数中? (在任何给定时间只有一个 utm 参数)。
example.com?utm=test
example.com?utm=test2
var partnerArray = ["test", 'test2'];
function findPartner() {
if window.location.href.indexOf('?utm='(partnerArray)' !== -1) {
//do something fun here
}
我知道我的代码是错误的 - 我还没有找到使用数组检查 URL 中的值的示例。
谢谢。
【问题讨论】:
-
如果你先从 url 中获取值,你可以使用
partnerArray.includes(utm);(总是尝试将你的问题分解成几个部分;第 1 部分是从 URL 中提取值,第 2 部分是检查如果结果字符串在数组中;您正在寻找的现有解决方案过于具体,但这两个部分都有大量现有解决方案,很容易找到) -
@ChrisG 我会知道数组中的值。我可以找到 url 是否包含这样的参数:'''(window.location.href.indexOf('?utm=test') > 0)''' - 但这是 UTM 的一个特定值。我需要对照一个已知列表(数组)检查它。这就是我所缺少的难题的一部分。
-
请再次阅读我的评论。您需要先提取 URL 的
utm参数的值。一旦你有了它,即一旦你有了test,检查它对数组是微不足道的。你被困在有缺陷的方法上。 -
@ChrisG - 好的 - 我能够获取 URL 参数的值(如 AKX 所述)但似乎坚持使用正确的比较语法来检查数组的参数值。即使在他提供的示例中,我也不确定如何使用它来进行页面修改。请指教。
-
您只需要
if (partnerArray.includes(utmParam)) { ... }
标签: javascript jquery arrays