前五种常用,第三种个人觉得常用最多,自己复制代码打印试试
var arr = [1, 2, 3, 4, 5, 6]; // 第一种 for循环遍历 var newArr = []; for(var i = 0; i < arr.length; i++){ newArr.push(arr[i]) console.log(newArr) } // 第二种 es6语法 arr.forEach()遍历 var newArr = []; arr.forEach((item) => { newArr.push(arr[item]) console.log(newArr) }) // 第三种 Object.keys()遍历 // (个人推荐比较好用:枚举方法) (返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性).) var newArr = []; Object.keys(arr).forEach((item) => { newArr.push(arr[item]) console.log(newArr) }) // 第四种 arr.map(function callback(currentValue[, index[, array]]) 或者这样 array.map(item,index,arr) // currentValue: callback一系列中正在处理的当前元素 index: callback一系列中正在处理的当前元素的索引。array: map 调用方法的目录 var newArr = [] arr.map((item) => { newArr.push(arr[item]) console.log(newArr) }) // 第五种 for...in...遍历 // 循环遍历对象自身的和继承的可枚举属性(循环遍历对象自身的和继承的可枚举属性(不含Symbol属性).). var newArr = [] for(var i in arr ) { newArr.push(arr[i]) console.log(newArr,'1111111') } // 第六种 for-of遍历 //不仅支持数组,还支持大多数类数组对象,例如DOM NodeList对象. //也支持字符串遍历,它将字符串视为一系列的Unicode字符来进行遍历. var newArr = [] for(var i of arr){ newArr.push(arr[i]) console.log(newArr) } // 第七种 Object.getOwnPropertyNames(obj) 遍历 // 返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性). var newArr = []; Object.getOwnPropertyNames(arr).forEach((item) => { newArr.push(arr[item]) console.log(newArr,'!!!!') }) // 第八种 Reflect.ownKeys(obj)遍历 // 返回一个数组,包含对象自身的所有属性,不管属性名是Symbol或字符串,也不管是否可枚举. var newArr = []; Reflect.ownKeys(arr).forEach((item) => { newArr.push(arr[item]) console.log(newArr) // 数组可以全部打印出来特别!!!! })