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循环});