[英]Javascript using variable as array name
我在Javascript中有几个数组,例如
a_array [0] =“ abc”;
b_array [0] =“ bcd”;
c_array [0] =“ cde”;
我有一个采用数组名称的函数。
function perform(array_name){
array_name = eval(array_name);
alert(array_name[0]);
}
perform("a_array");
perform("b_array");
perform("c_array");
当前,我使用eval()做我想要的事情。
有没有不使用eval()的方法?
您可以传递数组本身:
function perform(array) {
alert(array[0]);
}
perform(a_array);
或通过this
访问它:
function perform(array_name) {
alert(this[array_name][0]);
}
perform('a_array');
不用通过eval
其名称来选择数组,而是将数组存储在一个对象中:
all_arrays = {a:['abc'], b:['bcd'], c:['cde']};
function perform(array_name) {
alert(all_arrays[array_name][0]);
}
您为什么不能只传递数组?
function perform(array){
alert(array[0]);
}
perform(a_array);
perform(b_array);
perform(c_array);
还是我误解了这个问题...
为什么不将数组作为函数参数传递呢?
function perform(arr){
alert(arr[0]);
}
我相信您创建的任何变量实际上都是window对象的属性(我假设是因为您使用了警报,表明它正在Web浏览器中运行)。 你可以这样做:
alert(window[array_name][0])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.