Javascript:由另一个变量的值组成的新变量名称

发布于 2025-01-08 19:21:31 字数 453 浏览 0 评论 0原文

通过显示代码最容易解释:

var delta_selected = false;
var magma_selected = false;
var aqua_selected = false;

// Somewhere in my functions...
if (sumthing == 'sumthing1') {
    topic = 'delta';
} else if (sumthing == 'sumthing2') {
    topic = 'magma';
} else {
    topic = 'aqua';
}

// Then assign it (so if topic is delta, then delta_selected = true)
topic + "_selected" = true;

最后一行不起作用。语法错误。

我需要帮助来弄清楚如何做到这一点。谢谢!

Easiest to explain by showing code:

var delta_selected = false;
var magma_selected = false;
var aqua_selected = false;

// Somewhere in my functions...
if (sumthing == 'sumthing1') {
    topic = 'delta';
} else if (sumthing == 'sumthing2') {
    topic = 'magma';
} else {
    topic = 'aqua';
}

// Then assign it (so if topic is delta, then delta_selected = true)
topic + "_selected" = true;

This last line isn't working. Syntax error.

I need help to figure out how to do this. Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

层林尽染 2025-01-15 19:21:31

试试这个

window[topic + "_selected"] = true;

try this

window[topic + "_selected"] = true;
半岛未凉 2025-01-15 19:21:31

为什么使用变量?在我看来,您需要一个包含所有 _selected 值的结构。

var selected = {
    delta:false,
    magma:false,
    aqua:false
};

然后...

if (sumthing == 'sumthing1') {
    topic = 'delta';
} else if (sumthing == 'sumthing2') {
    topic = 'magma';
} else {
    topic = 'aqua';
}

selected[topic] = true;

Why use variables? Looks to me like you need a single structure that contains all your _selected values.

var selected = {
    delta:false,
    magma:false,
    aqua:false
};

then...

if (sumthing == 'sumthing1') {
    topic = 'delta';
} else if (sumthing == 'sumthing2') {
    topic = 'magma';
} else {
    topic = 'aqua';
}

selected[topic] = true;
怎言笑 2025-01-15 19:21:31

看一下“eval()”函数。您可能最终会得到类似的结果:

eval(topic + "_selected = true;")

但请检查文档以确保确定。

希望这有帮助。

Take a look at the "eval()" function. You will probably end up with something like:

eval(topic + "_selected = true;")

But check the documentation to be sure.

Hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文