Javascript 每次单击指定索引时,从另一个数组复制一个数组

Javascript 每次单击指定索引时,从另一个数组复制一个数组,javascript,arrays,Javascript,Arrays,例如,如果我有一个数组a=[1,2,3,4,5,6,7,8]和b=[]。在每次单击事件中,我都会传递一个数字作为参数。 我需要将数组a[]从下一个元素推送到数组b[]。 对于第一次单击,我将传递3作为参数。现在,数组b[]将从[0]复制到[2],这将使数组b=[1,2,3] 当我以传递2作为参数第二次单击时,现在数组b[]将从a[3]复制到a[4],这给了我数组b=[1,2,3,4,5] 预期结果: 点击(3)=b[1,2,3] 点击(2)=b[1,2,3,4,5] 相反,我得到了这个 点击(3

例如,如果我有一个数组a=[1,2,3,4,5,6,7,8]和b=[]。在每次单击事件中,我都会传递一个数字作为参数。 我需要将数组a[]从下一个元素推送到数组b[]。 对于第一次单击,我将传递3作为参数。现在,数组b[]将从[0]复制到[2],这将使数组b=[1,2,3]

当我以传递2作为参数第二次单击时,现在数组b[]将从a[3]复制到a[4],这给了我数组b=[1,2,3,4,5]

预期结果: 点击(3)=b[1,2,3] 点击(2)=b[1,2,3,4,5]

相反,我得到了这个 点击(3)=b[1,2,3] 点击(2)=b[1,2]

a=[1,2,3,4,5,6,7,8];
b=[];
点击(e){

对于(让i=0;i每当调用click函数时,您将从0循环到e。相反,您可能希望从
b.length
(要复制的下一个索引)循环,e将进一步索引(直到
b.length+e
)。

toString仅用于格式化代码,以便在代码段中更好地显示它

设a=[1,2,3,4,5,6,7];
设b=[];
函数单击(n){
对于(设i=n;i>0;i--){
b=b.concat(a.拼接(0,i));
log(i+':'+'a:'+a.toString()++'b:'+b.toString());
}
}

单击(3);
我按照@jonaswillms的建议做了。这很有效

设a=[1,2,3,4,5,6,7];
设b=[];
函数单击(n){

对于(var i=b长度),我能给出一个更详细的解释吗?考虑修改你的问题。