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更改为某些恶意代码。