1. for 循环
var arr = [1,2,3]; for(var i = 0; i < arr.length; i++) { console.log(i +'-'+ arr[i]); } // 0-1 // 1-2 // 2-3
2. forEach 遍历
遍历数组 列出数组的每个元素
forEach没有返回值,forEach适合于你并不打算改变数据的时候
forEach 不能使用break语句中断循环,也不能使用return语句返回到外层函数。
var arr = [1,2,3]; var brr = arr.forEach(function(item,index) { return item * 2; }) console.log(arr); console.log(brr); // [1, 2, 3] // undefined
3. map 遍历
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 不会改变原始数组
var arr = [1,2,3]; var brr = arr.map(function(item,index) { return item * 2; }) console.log(arr); console.log(brr); // [1, 2, 3] // [2, 4, 6]
4. for in 循环
使用for…in循环时,返回的是所有能够通过对象访问的、可枚举的属性,既包括存在于实例中的属性,也包括存在于原型中的实例。
for in循环属性遍历的顺序是按照下面的顺序排列
- 首先遍历所有数值键,按照数值升序排列。
- 其次遍历所有字符串键,按照加入时间升序排列。
- 最后遍历所有 Symbol 键,按照加入时间升序排列。
var obj = { name: "Lihua", age: 18, address: "上海", } for ( var key in obj ) { console.log(key +'-'+ obj[key]); } // name-Lihua // age-18 // address-上海
5. for of 循环
for of 循环也可以遍历对象,它主要用来获取对象的属性值(键值),而for…in主要获取对象的属性名(键)
- 对于普通对象,没有部署原生的 iterator 接口,直接使用 for…of 会报错
var obj = { 'name': 'Lihua', 'age': 18 } for(let key of obj) { console.log('for of obj', key) } // Uncaught TypeError: obj is not iterable
- 可以使用 Object.keys(obj) 方法将对象的键名生成一个数组,然后遍历这个数组
for(let key of Object.keys(obj)) { console.log('key', key) } /* key name key age */
标签:arr,各种,obj,console,JS,循环,key,var,遍历 From: https://www.cnblogs.com/littleDinosaurs/p/16905995.html