[TOC] #### 1. 遍历数组 ---- 数组如下所示: ``` var arr = ['张三', '李四', '王五']; ``` **最常见的for循环** ```javascript for (var i = 0, length = arr.length; i < length; i++) { console.log(i, arr[i]) } ``` **for ... in 循环** ```javascript for (var key in arr) { console.log(key, arr[key]) } ``` **for ... of 循环 (ES6)** 这种方式获取不到数组索引值 ```javascript for (var v of arr) { console.log(v) } ``` **arr.map() 数组函数** ```javascript arr.map((item, index, array) => { console.log(item, index, array) }) ``` **forEach 遍历** ```javascript arr.forEach((item, index, array) => { console.log(item, index, array) }) ``` **遍历数组总结** 我习惯使用 `forEach` 遍历数组,但是当数组数据比较大时推荐使用第一种方式(最常见的for循环), 这种方式效率高一些 #### 2. 遍历对象 ---- **对象数据示例:** ```javascript var obj = { name: '辰风沐阳', age: 22, qq: 23426945, } ``` **for-in循环是为了遍历对象而设计的,虽然for-in也能用来遍历数组** ```javascript for (var key in obj) { console.log(key, obj[key]) } ```