我确定这很简单,我只是不知道该怎么做。
我想从一个变量等于另一个变量动态生成一个数组:
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']
答案 0 :(得分:1)
不是将数组存储在单独的变量中,而是将它们存储在以id为键的对象中:
var pages = {
page_1: ['value1','value2','value3'],
page_2: ['value4','value5','value6'],
page_3: ['value7','value8','value9']
}
您可以访问数组,就好像该对象是一个assosiative数组:
var pageID = "page_1";
var pageArray = pages[pageID];
答案 1 :(得分:0)
根据您希望实现的目标,您可以使用两种或三种方法中的一种。
我认为最简单的方法是if / else语句:
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 (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...
}
有关您需要更改此变量的原因的更多信息,我可以为您提供更好的答案。
编辑:请记住.slice()
的参数可以是您想要的任何内容。