Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过转到每个元素来弹出多维数组_Javascript - Fatal编程技术网

Javascript 如何通过转到每个元素来弹出多维数组

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

我想一个接一个地弹出每个元素,比如说,我有一个数组[[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=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
`它移动第一个内部数组的第一个元素并记录它。您需要保留原始数据吗?