gpt4 book ai didi

javascript - 将一组 "true" boolean 值变量转换为数组

转载 作者:行者123 更新时间:2023-11-28 17:13:36 25 4
gpt4 key购买 nike

我有一组 boolean 值如下

var prodcat1 = true;
var prodcat2 = false;
var prodcat3 = false;
var prodcat4 = false;
var prodcat5 = false;
var prodcat6 = false;
var prodcat7 = false;
var prodcat8 = false;
var prodcat9 = false;
var prodcat10 = true;

如何将所有 true 变量转换为一个数组,如下所示。

  var array = ["prodcat1", "prodcat10"]

最佳答案

使用像 prodcat5 这样的变量名称多少会让自己陷入困境,因为如果不使用可怕的 eval() 函数,就无法真正迭代它们。

let arr = [];

for (let i=1; i<=10; i++) {
if (eval("prodcat" + i)) {
arr.push("prodcat" + i);
}
}

这是一种非常糟糕的方法,eval() 通常会带来安全风险。

另一个解决方案可能更好(如果您在浏览器中运行代码),那就是 ThatBrianDude 通过(ab)使用 window 对象提出的(如下所示)。

但是所有这些解决方案都是有缺陷的,因为这个问题很容易被避免。更好的解决方案是使用一个名为 prodcat 的数组并在其中存储值,如下所示:

prodcat[0] = true;
prodcat[1] = false;
/* etc... */

然后您可以轻松地迭代它们。

关于javascript - 将一组 "true" boolean 值变量转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53955843/

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