Javascript 从动态变量获取数组

Javascript 从动态变量获取数组,javascript,Javascript,我相信这很简单,我就是不知道怎么做 我想动态地使一个变量的数组等于另一个变量: var pageID = document.getElementsByClassName('page_example')[0].id; 假设它返回了第1页的id var page_1 = ['value1','value2','value3']; var page_2 = ['value4','value5','value6']; var page_3 = ['value7','value8','value

我相信这很简单,我就是不知道怎么做

我想动态地使一个变量的数组等于另一个变量:

 var pageID = document.getElementsByClassName('page_example')[0].id;
假设它返回了第1页的id

 var page_1 = ['value1','value2','value3'];
 var page_2 = ['value4','value5','value6'];
 var page_3 = ['value7','value8','value9'];

var page_array = (then have the associated pageID's array here)
所以在这个例子中

page_array would equal ['value1','value2','value3']

根据您想要实现的目标,您可以选择两种或三种方法中的一种

我认为最简单的方法是I/EL语句:

if (condition) {
 page_array = page_1.slice(0);
} else if (other condition) {
 page_array = page_2.slice(0);
} else if...
您可以使用的另一种方法(同样取决于您的最终目标)是for循环:

for (var i = 0; i < numOfDesiredLoops; i++) {
  page_array = page_1.slice(0, i);
}
for(变量i=0;i
或者您可以将两者结合使用:

for (var i = 0; i < numOfDesiredLoops; i++) {
  if (condition) {
    page_array = page_1.slice(0); 
  } else if (other condition) {
    page_array = page_2.slice(1);
  } else if...
}
for(变量i=0;i
有了更多关于为什么需要改变这个变量的信息,我可以给你一个更好的答案


编辑:请记住,
.slice()
的参数可以是您想要的任何参数。

不要将数组存储在单独的变量中,而是将它们存储在一个对象中,ID作为键:

var pages = {
    page_1: ['value1','value2','value3'],
    page_2: ['value4','value5','value6'],
    page_3: ['value7','value8','value9']
}
您可以像访问关联数组一样访问数组:

var pageID = "page_1";
var pageArray = pages[pageID];

我不确定是否完全理解,但您可以这样做:
var page\u array=eval(“page\u 1”)
。您应该提供更多的代码查看您的标记将真正有助于获得关于.slice()的更多信息--谢谢,我所需要做的就是
var page\u array=eval(pageID)
。不过,你的方法要干净得多@wadclapp在评估时要格外小心。用户可能会在浏览器开发人员工具中将pageID更改为某些恶意代码。