JS中数组、对象、对象数组、数组对象的遍历方法
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 </head> 7 <body> 8 <!-- 这几种数据格式都可以用for循环来遍历,for...of也都可以遍历绝大多数的数据结构 --> 9 <script type="text/javascript"> 10 let a = [ 11 { 12 name:'张三', 13 age:'23', 14 address:'郑州' 15 }, 16 { 17 name:'李四', 18 age:'24', 19 address:'北京' 20 }, 21 { 22 name:'王五', 23 age:'25', 24 address:'这是数组对象' 25 }, 26 ] 27 28 for (let item in a) { //打印的item为数组的索引:0、1、2 29 console.log(item) 30 } 31 for (let item of a) {//等同于上一个的console.log(a[item]) 32 console.log(item)//{name: "张三", age: "23", address: "郑州"} 33 for (let key in item) { //遍历数组中的对象 34 console.log(item[key]) 35 } 36 } 37 a.forEach(item => { //同上 38 console.log(item)//{name: "张三", age: "23", address: "郑州"} 39 }) 40 41 42 let b = ['b','1',1,2,'这是数组'] 43 44 for (let item in b) { //打印的item为数组的索引:0、1、2、3、4 45 console.log(item) 46 } 47 for (let item of b) { 48 console.log(item) 49 } 50 b.forEach(item => { 51 console.log(item) 52 }) 53 54 let c = { 55 key:'object', 56 value:'这是对象' 57 } 58 59 for (let item in c) {//打印的item为对象的key:key、value 60 console.log(item) 61 } 62 // c.forEach(item => {//对象不能使用forEach 63 // console.log(item) 64 // }) 65 // for (let item of c.keys()) {//对象不能直接使用of来遍历 66 // console.log(item) 67 // } 68 69 // 需要添加下面这一句话后对象才可以使用of遍历 70 //或者直接Object.keys()、Object.values()、Object.entries() 71 let {keys, values, entries} = Object 72 73 for (let item of keys(c)) { 74 console.log(item) 75 } 76 for (let item of values(c)) { 77 console.log(item) 78 } 79 for (let item of entries(c)) { 80 console.log(item) 81 } 82 83 let d = { 84 name:[ 85 '张三','李四','王五','这是对象数组' 86 ], 87 age:[ 88 20,21,22,23 89 ] 90 } 91 for (let item of values(d)) { 92 console.log(item)//获取到数组 93 item.forEach(items => { 94 console.log(items) //遍历对象中的数组 95 }) 96 } 97 </script> 98 </body> 99 </html>