Javascript 如何通过转到每个元素来弹出多维数组
我想一个接一个地弹出每个元素,比如说,我有一个数组[[1,2],[3]] 我将Javascript 如何通过转到每个元素来弹出多维数组,javascript,Javascript,我想一个接一个地弹出每个元素,比如说,我有一个数组[[1,2],[3]] 我将pop第一次进入数组元素1,然后是2(因为2是我想要通知的最后一个元素,或者记录说它是最后一个元素) 问题:我想逐个弹出每个数组,如果遇到每个数组的最后一个元素,那么我想通知(console.log('last element')) 以下是我尝试的代码: var-mulA=[[1,2]、[a'、[b'、[c']、[s']、[g'、[h']、[rr'、[tt'、[mm']、[]、[q']; var intId=setI
pop
第一次进入数组元素1,然后是2(因为2是我想要通知的最后一个元素,或者记录说它是最后一个元素)
问题:我想逐个弹出每个数组
,如果遇到每个数组
的最后一个元素,那么我想通知(console.log('last element')
)
以下是我尝试的代码:
var-mulA=[[1,2]、[a'、[b'、[c']、[s']、[g'、[h']、[rr'、[tt'、[mm']、[]、[q'];
var intId=setInterval(函数(){
var poped=mulA.pop();
console.log(poped);
log('notify on pop of each array last element');
},1500);代码>如果要弹出阵列中的阵列,请尝试:
var-mulA=[[1,2]、[a'、[b'、[c']、[s']、[g'、[h']、[rr'、[tt'、[mm']、[]、[q'];
var poped=mulA.pop();
var intId=setInterval(函数(){
if(poped==未定义的| | poped.length<1){
如果(公式长度<1){
净间隔(intId);
console.log('finished');
返回;
}
poped=mulA.pop();
log(“最后一个元素”);
返回;
}
log(poped.pop());
log('notify on pop of each array last element');
},1500);代码>您可以检查内部数组和外部数组的长度,并打印通知或结束间隔
var-mulA=[[1,2]、[a'、[b'、[c']、[s']、[g'、[h']、[rr'、[tt'、[mm']、[]、[q'],
intId=setInterval(函数(){
如果(!公式长度){
净间隔(intId);
返回;
}
console.log(mulA[0].shift());
if(!mulA[0].长度){
而(mulA[0]&&!mulA[0].length)mulA.shift();
log('notify on pop of each array last element');
}
}, 500);代码>首先打印内部数组,当其长度等于1时,它是该数组中的最后一个元素,并且当内部数组的长度变为1时,只打印外部数组中的pop
请尝试以下操作:
var-mulA=[[1,2]、[a'、[b'、[c']、[s']、[g'、[h']、[rr'、[tt'、[mm']、[]、[q'];
var poped=mulA.pop();
var intId=setInterval(函数(){
if(poped.length){
如果(poped.length==1){
log(poped.pop());
log('notify on pop of each array last element');
如果(!公式长度){
净间隔(intId);
返回;
}
}否则{
log(poped.pop());
}
}否则{
poped=mulA.pop();
}
},150);代码>您试图实现什么?为什么要使用设置间隔?检查长度,如果为1,则为最后一个element@amrendersingh,我不能发布我的全部代码,我只是通过使用setInterval
来模拟实际的功能上面code
的问题是它是poping
整个array
而不是一个接一个地模拟每个项。你能告诉我这行在做什么吗console.log(mulA[0].shift())
正如我所想,这一行对工作有影响,它不仅仅是log
`它移动第一个内部数组的第一个元素并记录它。您需要保留原始数据吗?