JS中常见的遍历方法
- 数组遍历方法
-
for循环- 这是最基本的遍历方式,通过索引来访问数组中的每个元素。例如:
const array = [1, 2, 3, 4, 5];
for (let i = 0; i < array.length; i++) {
console.log(array[i]);
}
-
forEach方法forEach()方法对数组的每个元素执行一次给定的函数。例如:
const array = [1, 2, 3, 4, 5];
array.forEach((element, index, arr) => {
console.log(`索引为${index}的元素是${element}`);
});
-
map方法- 它会对数组中的每个元素执行一个函数,并返回一个新的数组,新数组中的元素是函数的返回值。例如,将数组中的每个元素乘以 2:
const array = [1, 2, 3, 4, 5];
const newArray = array.map((element) => element * 2);
console.log(newArray);
-
filter方法- 用于筛选数组中的元素,返回一个新的数组,其中包含所有满足条件的元素。例如,筛选出数组中的偶数:
const array = [1, 2, 3, 4, 5];
const evenArray = array.filter((element) => element % 2 === 0);
console.log(evenArray);
-
reduce方法- reducer 逐个遍历数组元素,每一步都将当前元素的值与前一步的结果相加
const array = [1, 2, 3, 4, 5];
const sum = array.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum);
-
some方法- 用于检查数组中是否至少有一个元素满足指定的条件。如果有一个元素满足条件,就返回
true,否则返回false。例如,检查数组中是否有大于 10 的元素:
- 用于检查数组中是否至少有一个元素满足指定的条件。如果有一个元素满足条件,就返回
const array = [1, 2, 3, 4, 5];
const hasGreaterThan10 = array.some((element) => element > 10);
console.log(hasGreaterThan10);
-
every方法- 检查数组中的所有元素是否都满足指定的条件。如果所有元素都满足条件,就返回
true,否则返回false。例如,检查数组中的所有元素是否都小于 10:
- 检查数组中的所有元素是否都满足指定的条件。如果所有元素都满足条件,就返回
const array = [1, 2, 3, 4, 5];
const allLessThan10 = array.every((element) => element < 10);
console.log(allLessThan10);
-
对象遍历方法
-
for...in循环- 用于遍历对象的可枚举属性。例如:
-
const object = {a: 1, b: 2, c: 3};
for (let key in object) {
console.log(`键是${key},值是${object[key]}`);
}
-
Object.keys方法- 返回一个由对象的可枚举属性键组成的数组。可以结合数组的遍历方法来使用。例如:
const object = {a: 1, b: 2, c: 3};
const keys = Object.keys(object);
keys.forEach((key) => {
console.log(`键是${key},值是${object[key]}`);
});
-
Object.values方法- 返回一个由对象的可枚举属性值组成的数组。例如:
const object = {a: 1, b: 2, c: 3};
const values = Object.values(object);
console.log(values);
Object.entries方法- 返回一个包含对象所有可枚举属性的键值对数组,每个键值对是一个包含键和值的数组。例如:
const object = {a: 1, b: 2, c: 3};
const entries = Object.entries(object);
entries.forEach(([key, value]) => {
console.log(`键是${key},值是${value}`);
});
-
for...of循环- 它可以用于遍历可迭代对象,如数组、字符串、
Set、Map等。例如,遍历一个字符串:
- 它可以用于遍历可迭代对象,如数组、字符串、
const str = "hello";
for (let char of str) {
console.log(char);
}
- 遍历
Set数据结构(Set是一种无序且不包含重复元素的数据集合):
const set = new Set([1, 2, 3]);
for (let element of set) {
console.log(element);
}