gpt4 book ai didi

javascript - 从名称获取 javascript 数组对象

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

在 javascript 中,我有一个字符串数组,其中每个字符串都是另一个数组的名称。
如何从名称中获取每个数组对象?
在我的示例中,我需要从数组 CaveTipo 中包含的名称获取 cavaSel 数组

for (var i = 0; i < CaveTipo.length; i++) {
var cavaSel = $(CaveTipo[i]);
for (var t = 0; t < cavaSel.length; t++) {
///
}
}

最佳答案

通过“名称”,我假设您的意思是“标识符”。
例如:假设您有“标识符”CaveTipo 来引用以下示例数组:

var CaveTipo=[ 'my_array_a'
, 'my_array_b'
, 'my_array_c'
]
; //end var

上面的示例数组包含作为其他数组的标识符的字符串,例如:

var my_array_a=[ /* data */ ]
, my_array_b=[ /* data */ ]
, my_array_c=[ /* data */ ]
; //end var

现在,为了在 CaveTipo 中使用标识符(字符串),应该在保存目标数组的对象上使用括号表示法:namespace[/*identifier*/] (而不是点符号)。

如果该命名空间是全局的,那么您可以使用window(或self):window[/*identifier*/]

var cavaSel, i, t;
for (i = 0; i < CaveTipo.length; i++) {
cavaSel = window[ CaveTipo[i] ];
for (t = 0; t < cavaSel.length; t++) {
///
}
}

现在假设数组位于您创建的对象内(全局):

var caveData={ my_array_a: [ /* data */ ]
, my_array_b: [ /* data */ ]
, my_array_c: [ /* data */ ]
}
;

var cavaSel, i, t;
for (i = 0; i < CaveTipo.length; i++) {
cavaSel = caveData[ CaveTipo[i] ];
for (t = 0; t < cavaSel.length; t++) {
///
}
}

在大多数情况下,最后一种方法更好,因为它可以释放全局中的命名空间使用(对于 my_array_X),或者为“私有(private)”闭包中的对象提供标识符。

关于javascript - 从名称获取 javascript 数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29343591/

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