g***@163.com
g***@163.com
  • 发布:2020-02-15 19:00
  • 更新:2020-02-15 19:00
  • 阅读:844

循环mui.each()中,最里面return后,外层继续遍历,导致返回值丢失。使用for循环结果真确

分类:MUI
mui
      // 遍历对象数据  {“allPoems”:[{"name":"mon","age","23" },{"name":"heor","age","98" }]}  

usedPoems=new Array();                
  function getNextPoem(cnt) {  
            var char = keyCharList[cnt - 2][0];//char 用来匹配的一个字符  
                console.log(char);  
                x = keyCharList[cnt - 2][1];  
                y = keyCharList[cnt - 2][2];  

/*          for (var i = 0; i < allPoems.length; i++) {//for循环中的elementI改成allPoems  

                for (var j= 0; j < elementI.name.length; j++) {  
                    if(char ==elementI.name[j] ) {  
                            console.log(elementI.name[j])  
                            idx = elementI.name[j].indexOf(elementI.name[j])  
                            console.log(idx);  
                            usedPoems.push(i);//没有也不影响循环  
                            console.log(usedPoems)                    

                            if(cnt % 2 == 0) {  
                                //坐标是该字符串首字位置  
                                console.log(elementI.name,x,y-idx)  
                                 var arri=[elementI.name, x, y - idx]                 
                                // var arri=["sdsad",2,3]  
                                console.log(arri)  
                                return arri;  
                            } else {  
                                console.log(elementI.name,x-idx,y)  
                                 var arrj=[elementI.name, x - idx, y]  
                                return arrj;  
                            }  

                        }  
                }  
            }*/  

            mui.each(allPoems, function(indexI, elementI) {  
                mui.each(elementI.name, function(indexJ, elementJ) {  
                    if(char == elementJ) {  
                        console.log(elementI.name)  
                        idx = elementI.name.indexOf(elementJ)  
                        console.log(idx)  
                        console.log(indexI)  
                            usedPoems.push(indexI);  
                        console.log(usedPoems)  
                        //changedStr=line[0:idx]+coverLetter[cnt-2]+line[idx+1:]  
                        //此处只是与找到上一句同样的字,故需试用与上句相同的遮盖字符  
                        //但此时的changedStr不是最终版的输出,因为还需要从中找到第二个关键字  

                        if(cnt % 2 == 0) {  
                            //坐标是该字符串首字位置  
                            console.log(elementI.name,x,y-idx)  
                             var arri=[elementI.name, x, y - idx]                 
                            // var arri=["sdsad",2,3]  不带变量的数组用来测试  
                            console.log(arri)  
                            return arri;  
                        } else {  
                            console.log(elementI.name,x-idx,y)  
                             var arrj=[elementI.name, x - idx, y]  
                            return arrj;  
                        }  
                    }  
                })  
            })  
        }  

var cnt,i,j,k,arr  
cnt=2;  
 arr=getNextPoem(cnt);  
 i=arr[0];j=arr[1];k=arr[2];   
console.log(i,j,k);

为什么console不到呢;

2020-02-15 19:00 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复