Javascript 如何使用循环计数值在递归中编写循环?

Javascript 如何使用循环计数值在递归中编写循环?,javascript,reactjs,recursion,Javascript,Reactjs,Recursion,我已经实现了一个程序,其中我需要发光某些组件,有一个名为loop的组件,用户可以给出他想要运行组件的时间,并可以将另一个循环嵌套到该程序中,我需要根据条件发光该元素 play=(时间、图像)=>{ 设置超时(()=>{ if(image)image.style.stroke=“白色” if(j){ 警报(“播放传感器”) } playLoop=(时间、图像、子对象)=>{ if(loopCount[k]!==0){ 设置超时(()=>{ if(image)image.style.stroke=

我已经实现了一个程序,其中我需要发光某些组件,有一个名为loop的组件,用户可以给出他想要运行组件的时间,并可以将另一个循环嵌套到该程序中,我需要根据条件发光该元素

play=(时间、图像)=>{
设置超时(()=>{
if(image)image.style.stroke=“白色”
if(j){
警报(“播放传感器”)
}
playLoop=(时间、图像、子对象)=>{
if(loopCount[k]!==0){
设置超时(()=>{
if(image)image.style.stroke=“白色”
if(循环<子长度){
开关(子[回路].类型){
“硬件”案例:{
myImage=document.getElementById(`${sub[loop].id}`);
myImage.style.stroke='#5ed649'
loop++;
返回这个.playLoop(10,myImage,sub);
}
案例“等待”:{
myImage=document.getElementById(`${sub[loop].id}`);
myImage.style.stroke='#5ed649'
设timeArr=sub[loop]。状态;
设时间=timeArr['ms']+timeArr['s']*1000+timeArr['m']*60*1000+timeArr['h']*60*60*1000;
log(time,'timeeee');
loop++;
返回此.playLoop(时间、我的图像、子对象);
}
案例“循环”:{
设sub1=sub[loop]。子程序;
k++;
loopCount=[…loopCount,子[loop].state.times];
this.playLoop2(0,null,sub1,sub);
}
默认值:{
loop++;
打破
}
}
}否则{
loopCount[k]=loopCount[k]-1;
循环=0;
if(loopCount[k]==0){
j++;
k++;
返回此。播放(0)
}
返回此.playLoop(0,null,sub)
}
},时间)
}否则{
j++;
这个。播放(0)
}
}
playLoop2=(时间、图像、子对象、原始子对象)=>{
if(loopCount[k]!==0){
设置超时(()=>{
if(image)image.style.stroke=“白色”
if(jj