JS中常见的遍历方法

194 阅读2分钟

JS中常见的遍历方法

  1. 数组遍历方法
  • 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); 
  1. 对象遍历方法

    • 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}`);
});
  1. for...of循环

    • 它可以用于遍历可迭代对象,如数组、字符串、SetMap等。例如,遍历一个字符串:
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);
}