gpt4 book ai didi

javascript - 在 Javascript 中将变量名转换为字符串?

转载 作者:行者123 更新时间:2023-11-29 09:57:54 28 4
gpt4 key购买 nike

我在 Stack Overflow 上看到过一些关于此的其他帖子,但答案似乎总是创建一个具有键/值对的对象。这似乎不是我目前情况所需要的。我想做什么:我有不同的数组,可能包含用户名。我想检查每个数组并查看用户名是否作为值存在于其中。如果是,我想要数组变量名称的字符串表示形式。示例:

var array = ['apple', 'orange', 'grape'];
var array2 = ['apple', 'pear', 'plumb']

member_arrays = new Array();
// I'd like this block to be dynamic in that i don't have to specify the array name
// in the inArray or member_arrays[member_arrays.length+1] (just loop through my arrays
// and add a string representation of the array name to the member_arrays array)
if ($.inArray( 'apple', array ) != -1)
member_arrays[member_arrays.length] = 'array';
if ($.inArray( 'apple', array2) != -1)
member_arrays[member_arrays.length] = 'array2';
// etc...

最佳答案

您不能在 JavaScript 中执行此操作。这就是为什么人们建议使用对象并将“变量”保留为对象中的属性的原因。

顺便说一下,当你追加到一个数组时,你只需要长度,而不是长度 + 1:

member_arrays[member_arrays.length] = 'array';

数组是从零开始的,所以“下一个”槽总是“长度”值。

编辑 — 好吧,有一种情况您可以这样做:当您的变量是全局变量时。任何名为“x”的全局变量也可以称为“window”的属性(对于网络浏览器中的代码):

var x = 3;
alert(window['x']); // alerts "3"

为此请避免使用全局变量:-)

关于javascript - 在 Javascript 中将变量名转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7983896/

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