for 循环
const nums = [1, 2, 3, 4, 5];
for (let i = 0; i < nums.length; i++) {
console.log(nums[i]);
}
for-in
对于对象而言,使用 for-in 循环遍历对象的所有可枚举属性
const obj = {a: 1, b: 2, c: 3};
for (let prop in obj) {
console.log(prop, obj[prop]);
}
forEach()
forEach() 方法是数组原型方法之一,可以遍历数组中的每一项并执行回调函数, forEach() 方法无法中途跳出循环。
const nums = [1, 2, 3, 4, 5];
nums.forEach(function(num) {
console.log(num);
});
map()
map() 方法与 forEach() 类似,也是数组原型方法之一,map() 方法对数组中的每一项运行给定函数,返回每次函数调用的结果组成的新数组。该方法可用于在不改变原数组的情况下,根据原数组创建一个新数组。
const nums = [1, 2, 3, 4, 5];
const doubledNums = nums.map(function(num) {
return num * 2;
});
console.log(doubledNums); // [2, 4, 6, 8, 10]
filter()
filter() 方法是数组原型方法之一,可以遍历数组中的每一项并执行回调函数,返回符合条件的项组成的新数组。
const nums = [1, 2, 3, 4, 5];
const evenNums = nums.filter(function(num) {
return num 2 === 0;
});
console.log(evenNums); // [2, 4]
Object.keys()
Object.keys() 方法会返回由对象自身的可枚举属性组成的数组,可以使用该方法进行对象属性的遍历。
const obj = {a: 1, b: 2, c: 3};
Object.keys(obj).forEach(function(prop) {
console.log(prop, obj[prop]);
});
Map
Map 可以使用 for-of 循环遍历其键值对,
const map = new Map([['a', 1], ['b', 2], ['c', 3]]);
for (let [key, value] of map) {
console.log(key, value);
}
Set
Set 则可以使用 forEach() 方法遍历其成员。
const set = new Set([1, 2, 3]);
set.forEach(function(value) {
console.log(value);
});