JS数组遍历,基本就是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支持)
for(let value of arr) { //性能还好,但仍然比不上for循环 });


还没有评论,来说两句吧...