Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产成人精品影视,在线免费视频一区,一区二区三区视频免费

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          js列表遍歷方法解讀

          js列表遍歷方法解讀

          avaScript提供了多種遍歷數組(或列表)的方法。以下是一些常用的方法及其解讀:

          1. for 循環:
          var array=[1, 2, 3, 4, 5];  
            
          for (var i=0; i < array.length; i++) {  
            console.log(array[i]);  
          }

          解讀:這是最基礎的遍歷數組的方法。for循環從數組的第一個元素開始,一直到最后一個元素。我們使用i作為索引,每次循環時,i的值增加1,直到i的值等于array.length(數組的長度)。

          1. for...in 循環:
          var array=[1, 2, 3, 4, 5];  
            
          for (var index in array) {  
            console.log(array[index]);  
          }

          解讀:for...in循環用于遍歷數組的所有可枚舉屬性,包括原型鏈上的屬性。這個方法并不保證按照元素在數組中的順序進行遍歷,因此通常不推薦用于遍歷數組。

          1. forEach() 方法:
          var array=[1, 2, 3, 4, 5];  
            
          array.forEach(function(value, index) {  
            console.log(value);  
          });

          解讀:forEach()方法按順序對數組的每個元素執行一次提供的函數。這個方法不會返回值,但它會更新原數組(如果傳入的函數對元素進行了修改)。函數接收兩個參數:當前元素的值和當前元素的索引。

          1. for...of 循環:
          var array=[1, 2, 3, 4, 5];  
            
          for (var value of array) {  
            console.log(value);  
          }

          解讀:for...of循環用于遍歷可迭代對象(包括數組、字符串、Map、Set等)。在每次迭代中,當前元素的值為value,而其索引則無法直接獲取。如果你需要同時獲取值和索引,你可能需要使用forEach()或者基礎的for循環。

          1. map() 方法:
          var array=[1, 2, 3, 4, 5];  
          var squaredArray=array.map(function(value) {  
            return value * value;  
          });  
          console.log(squaredArray); // [1, 4, 9, 16, 25]
          

          解讀:map()方法創建一個新數組,其結果是該數組中的每個元素都調用一個提供的函數后返回的結果。這個方法返回一個新數組,不會修改原數組。這是函數式編程中常用的一個方法。

          述:在JavaScript中,終止`forEach`循環有多種方法。可以使用`return`語句直接退出回調函數,或者通過拋出異常并在外部捕獲。另一種方式是使用`some`方法,它在滿足條件時終止循環。開發者可以根據具體情況選擇最適合的方法,靈活運用以提高代碼效率。

          在JavaScript中,forEach 是一個用于遍歷數組元素的方法,它通常是一個很好的選擇,但有時你可能希望在特定條件下終止循環。在下面,我將詳細列舉幾種在 forEach 循環中終止的方法,并提供相應的代碼示例。

          1. 使用return語句

          你可以在 forEach 回調函數中使用 return 語句來終止循環。當 return 被執行時,它會立即退出當前回調函數,從而終止循環。

          let numbers=[1, 2, 3, 4, 5];
          
          numbers.forEach(function (number) {
              console.log(number);
          
              if (number===3) {
                  return; // 終止循環
              }
          });
          

          2. 使用throw異常

          通過在回調函數中拋出一個異常,可以終止 forEach 循環。這需要在循環外部使用 try...catch 來捕獲異常,從而達到終止循環的目的。

          let numbers=[1, 2, 3, 4, 5];
          
          try {
              numbers.forEach(function (number) {
                  console.log(number);
          
                  if (number===3) {
                      throw new Error('Terminating the loop'); // 拋出異常終止循環
                  }
              });
          } catch (error) {
              console.error(error.message);
          }
          

          3. 使用some方法

          some 方法是一個更好的選擇,因為它在第一次滿足條件時就會終止循環,并且返回一個布爾值表示是否有元素滿足條件。

          let numbers=[1, 2, 3, 4, 5];
          
          let conditionMet=false;
          
          numbers.some(function (number) {
              console.log(number);
          
              if (number===3) {
                  conditionMet=true;
                  return true; // 返回true終止循環
              }
          });
          
          if (conditionMet) {
              console.log('Condition met!');
          } else {
              console.log('Condition not met.');
          }
          

          這三種方法中,根據具體情況選擇適合的方式。return 語句簡單直觀,throw 異常更靈活但可能會增加復雜性,而 some 方法則是專為滿足條件即終止設計的。根據你的需求和代碼結構,選擇最合適的方式。

          S數組遍歷,基本就是for,for in ,foreach,forof,map等一些方法。做個筆記

          **for循環「性能最高的」

          for(var j=0; j < arr.length; j++) {
             //常用,這個就夠了
          }
          //優化版for循環
          for(var j=0,len=arr.length; j < len; j++) {
             //使用臨時變量,將長度緩存起來,避免重復獲取數組長度,當數組較大時 優化效果才會明顯
          }
          
          實項:
          for ( var  i=0;i<arrTmp.length;i++){
               console.log(i+ ": " +arrTmp[i])
          }
          
          //實例
          var stemItem="",arrItem=r.data.metas.choices;  
          for (let index=0; index < arrItem.length; index++) {
            stemItem +='<div><input type="checkbox" id="'+index+'">
            <label for="'+index+'">'+arrItem[index]+'</label></div>';
          }

          forin 循環

          for(j in arr) {
            //很多人用,但是性能分析,顯示它效率最低 
          }
          for ( var  i  in  objTmp){
               console.log(i+ ": " +objTmp[i])
          }

          **foreach循環

          //forEach遍歷數組,三個參數依次是數組元素、索引、數組本身
          arrTmp.forEach( function (value,index,array){
               console.log(value+ "," +index+ "," +array[index])
          })
          
          //Jquery 的$.each() 
          數組
          	$.each([52, 97], function(index, value) {
            		alert(index + ': ' + value); //index是索引-0:52;1:97
          });
          
          對象
          var obj={
          		"ff": "在",
          		"性別": 1
          	};
          $.each( obj, function( key, value ) {
            alert( key + ": " + value );//ff:在
          });
          

          forof遍歷(需要es6支持)


          主站蜘蛛池模板: 在线精品亚洲一区二区三区| 精品一区二区久久| 无码少妇一区二区性色AV | 国产伦一区二区三区高清| 无码少妇一区二区三区浪潮AV| 亚洲一区中文字幕| 精品日韩在线视频一区二区三区| 日韩在线一区视频| 一区二区免费视频| 国产一区二区内射最近更新| 色综合一区二区三区| 国产成人一区二区三区| 午夜影院一区二区| 色噜噜狠狠一区二区三区果冻| 亚洲国产精品乱码一区二区 | 丰满岳乱妇一区二区三区| 精品亚洲AV无码一区二区三区 | 久久久av波多野一区二区| 色狠狠色噜噜Av天堂一区| 日本一区二区三区在线视频| 成人区人妻精品一区二区不卡| 亚洲av成人一区二区三区观看在线| 精品一区二区三区无码免费视频| 亚洲一区精品中文字幕| 日本一区午夜艳熟免费| 日本亚洲成高清一区二区三区| 中文字幕人妻无码一区二区三区| 久久99国产精品一区二区| 秋霞鲁丝片一区二区三区| 视频一区在线播放| 精品国产不卡一区二区三区 | 国产一区二区三区免费观看在线| 人妻免费一区二区三区最新 | 男人的天堂亚洲一区二区三区| 日韩精品一区二区三区在线观看l| 国产福利一区二区精品秒拍| 在线观看国产一区二区三区| 国产精品亚洲一区二区三区| 精品女同一区二区三区免费播放| 国产成人无码一区二区三区在线| 国模私拍一区二区三区|