小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

js數(shù)組遍歷和對象遍歷

 melodyjian 2018-04-13

針對js各種遍歷作一個總結(jié)分析,從類型用處:分?jǐn)?shù)組遍歷和對象遍歷;還有性能,優(yōu)缺點(diǎn)等。

JS數(shù)組遍歷:

1,普通for循環(huán),經(jīng)常用的數(shù)組遍歷

var arr = [1,2,0,3,9];
 for ( var i = 0; i <arr.length; i++){
    console.log(arr[i]);
}

2,優(yōu)化版for循環(huán):使用變量,將長度緩存起來,避免重復(fù)獲取長度,數(shù)組很大時優(yōu)化效果明顯

for(var j = 0,len = arr.length; j < len; j++){
    console.log(arr[j]);
}

3,forEach,ES5推出的,數(shù)組自帶的循環(huán),主要功能是遍歷數(shù)組,實(shí)際性能比for還弱

arr.forEach(function(value,i){
  console.log('forEach遍歷:'+i+'--'+value);

})

forEach這種方法也有一個小缺陷:你不能使用break語句中斷循環(huán),也不能使用return語句返回到外層函數(shù)。

4,map遍歷,map即是 “映射”的意思 用法與 forEach 相似

arr.map(function(value,index){
    console.log('map遍歷:'+index+'--'+value);
});

map遍歷支持使用return語句,支持return返回值

var temp=arr.map(function(val,index){
  console.log(val);  
  return val*val           
})
console.log(temp);  

forEach、map都是ECMA5新增數(shù)組的方法,所以ie9以下的瀏覽器還不支持

5,for-of遍歷 是ES6新增功能

for( let i of arr){
    console.log(i);
}
  • for-of這個方法避開了for-in循環(huán)的所有缺陷
  • 與forEach()不同的是,它可以正確響應(yīng)break、continue和return語句 

for-of循環(huán)不僅支持?jǐn)?shù)組,還支持大多數(shù)類數(shù)組對象,例如DOM NodeList對象。

for-of循環(huán)也支持字符串遍歷

JS對象遍歷:

1,for-in遍歷

for-in是為遍歷對象而設(shè)計的,不適用于遍歷數(shù)組。

遍歷數(shù)組的缺點(diǎn):數(shù)組的下標(biāo)index值是數(shù)字,for-in遍歷的index值"0","1","2"等是字符串

for (var index in arr){
    console.log(arr[index]);
    console.log(index);
}

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多