gpt4 book ai didi

javascript - 在 JavaScript 中动态创建 if 语句的最佳方法?

转载 作者:行者123 更新时间:2023-12-01 01:39:40 25 4
gpt4 key购买 nike

我正在编写一个将在代理机构内使用的 AdWords 脚本,并要求用户更改一个变量,该变量是一个包含某些需要排除的内容的数组,因此我需要创建一个 if 语句来排除所有这些内容。

我事先无法知道数组中实际有多少元素,所以我目前创建了这个:

  var exclusions = ["a", "b", "c"];

var exclusionInput = "if (url.indexOf('";

for (var i = 0; i < exclusions.length; i++) {
if (exclusions.length - i == 1) {
var exclusion = exclusions[i];
var exclusionString = exclusion.toString();
exclusionInput = exclusionInput + exclusionString + "') != -1) {toExclude.push(url); Logger.log(url) }";
} else {
var exclusion = exclusions[i];
var exclusionString = exclusion.toString();
exclusionInput = exclusionInput + exclusionString + "') != -1 || url.indexOf('";
}
}

问题是,只有当我稍后进行评估时,这才有效:

eval(exclusionInput);

(至少据我所知,如果我自己添加exclusionInput,这是行不通的)。

到目前为止,这段代码工作得很好,但在我搜索如何执行此操作时,每个人都一直说,如果可能的话,我应该尽量不使用 eval。主要担心的是安全性,这并不是一个真正的问题,因为它都在 Google Ads shell 内,并且只会由我的机构的员工使用,但我仍然想知道是否有更好的方法来实现这一点,而不是需要评估。

最佳答案

我认为您不需要以编程方式创建 IF 语句。看这个:

var exclusions = ['a', 'a', 'a'];
var exclusions2 = ['a', 'b', 'c'];

var url = 'http://url-to-be-excluded.com';

function shouldIExclude(exclusions, url) {
return exclusions.map(exclusion => url.includes(exclusion)).some(b => b);
}

console.log(shouldIExclude(exclusions, url));
console.log(shouldIExclude(exclusions2, url));

关于javascript - 在 JavaScript 中动态创建 if 语句的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52534131/

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