• <em id="52tge"><object id="52tge"><blockquote id="52tge"></blockquote></object></em>

  • <progress id="52tge"></progress>
      
      
      <tbody id="52tge"><pre id="52tge"></pre></tbody>
      <em id="52tge"></em>
      <li id="52tge"><acronym id="52tge"><u id="52tge"></u></acronym></li>

      <nav id="52tge"><sub id="52tge"><noframes id="52tge"></noframes></sub></nav>

      網站地圖 | RSS訂閱 老鐵博客 - 上海SEO優化|上海網站建設|蜘蛛池出租|站群代搭建
      你的位置:首頁 ? 前端腳本 ? 正文

      foreach,foreach用法

      2020-3-18 14:30:18 | 作者:老鐵SEO | 0個評論 | 人瀏覽

        foreach語句是java5的新特征之一,在遍歷數組、集合方面,foreach為開發人員提供了極大的方便。


        foreach語法格式如下:


        正確用法應該是:


        foreach又稱增強for,是for循環的一個特殊簡化版。


        foreach雖然是for循環的簡化版本,但是并不是說foreach就比for更好用,foreach適用于循環次數未知,或者計算循環次數比較麻煩情況下使用效率更高,但是更為復雜的一些循環還是需要用到for循環效率更高。


        讓我們看一下這個例子:


        注意事項:


        foreach不支持在循環中添加刪除操作,因為在使用foreach循環的時候數組(集合)就已經被鎖定不能被修改,否則會報出java.util.ConcurrentModificationException異常。


        foreach用法


        foreach(chararginargs)//"char"是args里面每個元素的類型,arg就是從args里面提取出的“char”類型的一個元素,in是關鍵字,args就是你要操作的集合類型數據。其實和for()循環類似,只是不需要記錄循環步數,同時,在foreach過程中,args是不允許被改變的。


        {


        if(arg==ch)


        {


        //存在


        }


        else


        {


        //不存在


        }


        )


        foreach循環遍歷數組


        String[]array={"1","2","3","4","5"};


        //for循環


        for(inti=0;i<array.length;i++){


        System.out.println(array[i]);


        }


        //foreach不是java里面的關鍵字,foreache循環一般是指這個


        for(Stringstring:array){


        System.out.println(string);


        }<


        >


        foreach和for循環區別


        1.如果只是遍歷集合或者數組,用foreach好些,快些。


        2.如果對集合中的值進行修改,就要用for循環了。其實foreach的內部原理其實也是Iterator,但它不能像Iterator一樣可以人為的控制,而且也不能調用iterator.remove();更不能使用下標來訪問每個元素,所以不能用于增加,刪除等復雜的操作。舉個例子:


        for(Stringaid:list){


        if(aid.equals("aa")){


        list.remove(aid);//這行會報錯,不能修改list的長度


        }


        }


        所以foreach語句是for語句的特殊簡化版本,但是foreach語句并不能完全取代for語句。


        foreach和map的區別


        JS的forEach和map方法都是ES5為處理數組而新增的迭代方法,區別在于map方法返回一個新數組,而forEach方法沒有返回值。舉個例子:


        vararr=[1,2,4,7,8];


        //目標:上述數組里的每一項偶數都+1,使整個數組里都是奇數。


        //map方法


        varresult=arr.map(function(item){


        returnitem%2===0?item+1:item;


        });


        console.log(result);//[1,3,5,7,9]


        //forEach方法


        varresult=[];


        arr.forEach(function(item){


        if(item%2===0){


        item+=1;


        }


        result.push(item);


        });


        console.log(result);//[1,3,5,7,9]<


        >


        從上述例子可以看出,使用map方法要方便的多,代碼也更優雅。這里需要注意的是這兩個方法不支持IE9以下的IE瀏覽器,要兼容的話一般用for循環來實現:


        //for循環方法


        varresult=[];


        for(vari=0;i<arr.length;i++){


        if(arr[i]%2===0){


        arr[i]+=1;


        }


        result.push(arr[i]);


        }


        console.log(result);//[1,3,5,7,9]<


        >

    1. 本文來自: 老鐵博客,轉載請保留出處!歡迎發表您的評論
    2. 相關標簽:
    3. 已有0位網友發表了一針見血的評論,你還等什么?

      必填

      選填

      記住我,下次回復時不用重新輸入個人信息

      必填,不填不讓過哦,嘻嘻。

      ◎歡迎參與討論,請在這里發表您的看法、交流您的觀點。

      相關推薦

      色情激情片日本大全|亚洲无码色情gif|六人行成人版第九影院|亚洲成人电影理论电影

    4. <em id="52tge"><object id="52tge"><blockquote id="52tge"></blockquote></object></em>

    5. <progress id="52tge"></progress>
        
        
        <tbody id="52tge"><pre id="52tge"></pre></tbody>
        <em id="52tge"></em>
        <li id="52tge"><acronym id="52tge"><u id="52tge"></u></acronym></li>

        <nav id="52tge"><sub id="52tge"><noframes id="52tge"></noframes></sub></nav>