遍历数组的常用方法
-
for循环遍历:使用最广泛的方法,通过下标访问每一个数组元素。
const arr = [1, 2, 3, 4, 5]; for(let i=0; i<arr.length; i++) {console.log(arr[i]); }
-
forEach遍历:数组的forEach()方法可以遍历每个元素,对每个元素做一些操作。
const arr = [1, 2, 3, 4, 5]; arr.forEach(function(item, index, array) {console.log(item, index); });
-
map遍历:数组的map()方法可以遍历每个元素,并返回一个新的数组。
const arr = [1, 2, 3, 4, 5]; const newArr = arr.map(function(item, index, array) {return item * 2; }); console.log(newArr);
-
for…of遍历:ES6引入的for…of循环可以遍历所有可迭代的对象,包括数组、字符串、Set、Map等。
const arr = [1, 2, 3, 4, 5]; for(const item of arr) {console.log(item); }
遍历对象的常用方法
-
for...in遍历:使用for...in循环可以遍历对象的所有可枚举属性。
const obj = {name: '张三', age: 18, sex: '男'}; for(const key in obj) {console.log(key + ': ' + obj[key]); }
-
Object.keys()遍历:Object.keys()方法返回一个包含对象的所有属性名的数组,然后可以通过遍历数组来访问对象的属性。
const obj = {name: '张三', age: 18, sex: '男'}; const keys = Object.keys(obj); for(let i=0; i<keys.length; i++) {console.log(keys[i] + ': ' + obj[keys[i]]); }
-
Object.values()遍历:Object.values()方法返回一个包含对象的所有属性值的数组,然后可以通过遍历数组来访问对象的属性值。
const obj = {name: '张三', age: 18, sex: '男'}; const values = Object.values(obj); for(let i=0; i<values.length; i++) {console.log(values[i]); }
-
Object.entries()遍历:Object.entries()方法返回一个包含对象的所有属性和属性值的数组,其中每个元素是一个包含两个元素的数组,第一个元素是属性名,第二个元素是属性值。
const obj = {name: '张三', age: 18, sex: '男'}; const entries = Object.entries(obj); for(let i=0; i<entries.length; i++) {console.log(entries[i][0] + ': ' + entries[i][1]); }