数组遍历的几钟方法

81 阅读2分钟
1.  for 循环:最基本的数组遍历方式,通过索引循环遍历数组元素。

    const arr = [1, 2, 3, 4];
    for (let i = 0; i < arr.length; i++) {
      console.log(arr[i]);
    }
    
    
2.  forEach 方法:数组自带的一个迭代器方法,用于遍历数组并对每个元素执行回调函数。

    const arr = [1, 2, 3, 4];
    arr.forEach(function(element) {
      console.log(element);
    });
    

3.  map 方法:类似于 forEach 方法,但是返回一个新的数组,该数组的每个元素都是原数组的元素执行回调函数后的返回值。

    const arr = [1, 2, 3, 4];
    const newArr = arr.map(function(element) {
      return element * 2;
    });
    console.log(newArr); // [2, 4, 6, 8]
    

4.  filter 方法:用于遍历数组并根据条件筛选元素,返回一个新的数组,其中只包含满足条件的元素。

    const arr = [1, 2, 3, 4];
    const filteredArr = arr.filter(function(element) {
      return element % 2 === 0;
    });
    console.log(filteredArr); // [2, 4]
    

5.  reduce 方法:用于遍历数组并将每个元素和前面的结果进行累加或合并,最终返回一个结果。

    const arr = [1, 2, 3, 4];
    const sum = arr.reduce(function(previousValue, currentValue) {
      return previousValue + currentValue;
    }, 0);
    console.log(sum); // 10
    
    
6.  some 方法:用于遍历数组并对每个元素执行条件判断,只要有一个元素满足条件就返回 true,否则返回 false。

    const arr = [1, 2, 3, 4];
    const hasEven = arr.some(function(element) {
      return element % 2 === 0;
    });
    console.log(hasEven); // true
   

7.  every 方法:用于遍历数组并对每个元素执行条件判断,只有所有元素都满足条件才返回 true,否则返回 false。

    const arr = [1, 2, 3, 4];
    const isEven = arr.every(function(element) {
      return element % 2 === 0;
    });
    console.log(isEven); // false


8.  find 方法:用于遍历数组并找到第一个满足条件的元素,返回该元素,如果没有找到满足条件的元素,则返回 undefined。

    const arr = [1, 2, 3, 4];
    const even = arr.find(function(element) {
      return element % 2 === 0;
    });
    console.log(even); // 2


9.  findIndex 方法:类似于 find 方法,但是返回满足条件的元素在数组中的索引,如果没有找到满足条件的元素,则返回 -1。

    const arr = [1, 2, 3, 4];
    const evenIndex = arr.findIndex(function(element) {
      return element % 2 === 0;
    });
    console.log(evenIndex); // 1