1、打开浏览器,我们直接在jsbin上面演示, 在地址栏打开http://jsbin.com, 开启JSbin的javascript, console标签。
2、方法一, 原生for循环法,最常用,使用简单,性能强悍, 顺序严格.var abc = ["范冰冰", "张钧甯", "张馨予", "蒋勤勤", "赵丽颖"]var abcLen = abc.lengthfor(var i = 0; i < abcLen; i++){ console.log((i+1)+"号美女是:" + abc[i])}
3、方法二: 原生forEach循环, 此方法为数组自带方法, 使用方便, 性能稍弱, 遍历出来可能不能保留数组中的顺序.var abc = ["范冰冰", "张钧甯", "张馨予", "蒋勤勤", "赵丽颖"]abc.forEach(function(value, key){ console.log((key+1)+"号美女是:" + value)})
4、方法三: 原生for...in循环, 既可以用于遍历墙绅褡孛数组, 也可以用于遍历对象, 性能低下.遍历出的数组下标是字符串型, 涉及计算需要转为数字型; 遍历时, key会越界, 会出错.var abc = ["范冰冰", "张钧甯", "张馨予", "蒋勤勤", "赵丽颖"]for(var key in abc){ console.log((Number(key)+1)+"号美女是:" + abc[key])}console.log("================")var len = abc.lengthfor(var key in abc){ if(key < len) console.log((Number(key)+1)+"号美女是:" + abc[key])}
5、方法四: 原生map方法, 使用优雅, 但性能不及forEach, 不适合严格顺序的遍历.
6、ES6中的方法:const abc = [&孥恶膈茯quot;范冰冰", "张钧甯", "张馨予", "蒋勤勤", "赵丽颖"]for(let value of abc){ console.log("美女:" + value)}console.log("==============")const str = abc.reduce(function(count, val, key){ return count + (key+1) + "号美女是:" + val + "\n"}, "")console.log(str)
7、各方法性能对比, 仅供参考, 具体以自身环境实测为准.