JS循环

 return {
            a: [{
                    num: 1,
                    value: "如果"
                },
                {
                    num: 2,
                    value: "真的"
                },
                {
                    num: 3,
                    value: "要比"
                },
                {
                    num: 4,
                    value: "说唱"
                },
                {
                    num: 5,
                    value: "真的"
                },
                {
                    num: 6,
                    value: "强你"
                },
                {
                    num: 7,
                    value: "好几倍"
                },
            ],
        };

 js循环

           warnning:

           1.在forEach和map中,不能使用 continue 和 break ,可以使用 return 或 return false 跳出循环,

           效果与 for 中 continue 一样;

           2. map()返回一个新数组,并且不会改变原数组的值.map()这类是转换型函数,需要关心返回值。

           forEach()没有返回值,也不改变原数组;

           3.在forEach和map中,不能使用 continue 和 break ,可以使用 return 或 return false 跳出循环,效果与 for 中 continue 一样。

           但是即使使用return跳出循环,也不能一次结束所有循环。类似于continue。

1.for

 xunhuan() {
            let c='';
            // 1.for
            for(let i=0;i<this.a.length;i++){
               c+=this.a[i].value;
            }
            console.log(c,"111111111111111")

  2. forEach              

  currentValue:当前元素的值(必须)
  index:当前元素的下标(可选)
  arry:当前元素所属的数组(可选)
           
            this.a.forEach(function(currentValue,index,arry) {
                console.log(currentValue,index,arry,"0000")
            });

  3. map 

 currentValue:当前元素的值(必须)
 index:当前元素的下标(可选)
 arry:当前元素所属的数组(可选)

           this.a.map(function(currentValue,index,arry){
                console.log(currentValue,index,arry,"111111")
           })

           // 也是可以写三个参数,和上面的一样只是换成了箭头函数的方式
           this.a.map(item=>{
            console.log(item,item.value,"22222222")
         })
           this.a.map((item,i)=>{
              console.log(item,i,item.value,"22222222")
           })

 4. for..in

 item就是当前元素的下标
 warnning: 返回的是string类型
            for(item in this.a){
                if(this.a[item].value=="真的"){
                   console.log(item+1,"333333",typeof(item));
                   // 11 333333 string
                   // 41 333333 string
                }
                console.log(this.a[item],"3333333")
            }

   5. for..of

 item就是当前元素的值
           for(item of this.a){
            if(item.value=="真的"){
                console.log(item.num,"44444444")
             }
             console.log(item,"44444444")
           }

 6. jquery:$.each()

 key就是当前元素的下标
 value就是当前元素的值

           $.each(this.a,(key,value)=>{
               console.log(key,value,"555555555")
           })
        },

注意: 

  warnningText(){
           /*  
           map()返回一个新数组,并且不会改变原数组的值.map()这类是转换型函数,需要关心返回值。
           forEach()没有返回值,也不改变原数组 
           */
            let b=[2,3,4,5,6];
            let c=b.forEach(item=>{
                return item+1;
            })
           console.log(c,"888888")
           let d=b.map(item=>{
             return item+1;
           })
           console.log(d,"9999999")

           /* 
            undefined "888888"
           (5) [3, 4, 5, 6, 7] "9999999"
           */
        },

 

  warnningText(){
            let b=[2,3,4,5,6];
            /* .for..of可用break/return来中断循环,并且可中断所有循环*/
            for(item of b){
                if(item==5){
                return ;
                }
                console.log(item,"AAAAAAAAAAA")
            }
            for(item of b){
            if(item==5){
                break;
            }
            console.log(item,"BBBBBBB")
            }

                /* 
                2 "AAAAAAAAAAA"
                3 "AAAAAAAAAAA"
                4 "AAAAAAAAAAA"
                2 "BBBBBBB"
                3 "BBBBBBB"
                4 "BBBBBBB"
                */
         },
   warnningText1(){
            let b=[2,3,4,5,6];
         /* 
           在forEach和map中,不能使用 continue 和 break ,可以使用 return 或 return false 跳出循环,效果与 for 中 continue 一样。
           但是即使使用return跳出循环,也不能一次结束所有循环。类似于continue。
         */
        b.forEach(item=>{
            if(item==5){
                break;
            }
            console.log(item,"CCCCCCCCCC")
          })
          // SyntaxError: Illegal break statement

          b.forEach(item=>{
            if(item==5){
                return;
            }
            console.log(item,"DDDDDDDD")
          })

        },

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值