数组(Array)<迭代器>

作者: 冷r | 来源:发表于2022-04-26 11:28 被阅读0次

    一、Js数组迭代器方法

    主要介绍js数组中的forEach,every,some,filter,map迭代器方法

    二、介绍

    forEach(currentValue,index,arr)

    1. 方法用于调用数组的每个元素,并将元素传递给回调函数。
    2. 没有返回值
    3. 不改变原数组
    4. 不会对空数组检测
    var arr = [1, 2, 3, 4, 5];
    var a = []
     arr.forEach(function (item) {
        if (item%2===0) {
            a.push(item);
        }
    });
    //a:[2,4]
    

    map(currentValue,index,arr)

    1. 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
    2. 不改变原数组
    3. 不会对空数组检测
    var arr = [1, 2, 3, 4, 5];
    var a = arr.map(function (item) {
        if (item%2===0) {
            return item;
        }
    });
    //a: [undefined, 2, undefined, 4, undefined]
    

    filter(currentValue,index,arr)

    1. 检测数值元素,并返回符合条件所有元素的数组。
    2. 不改变原数组
    3. 不会对空数组检测
    var arr = [1, 2, 3, 4, 5];
    var a = arr.filter(function (item) {
      return item%2===0
    });
    //a: [ 2, 4]
    

    some(currentValue,index,arr)

    1. 检测数组元素中是否有元素符合指定条件。
    2. 方法会依次执行数组的每个元素:
      . - 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
      . - 如果没有满足条件的元素,则返回false。
    3. 不改变原数组
    4. 不会对空数组检测
    var arr = [1, 2, 3, 4, 5];
    var a = arr.some(function (item) {
      return item%2===0
    });
    //a:true
    

    every(currentValue,index,arr)

    1. 检测数值元素的每个元素是否都符合条件。
    2. 方法使用指定函数检测数组中的所有元素:
      . - 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
      . - 如果所有元素都满足条件,则返回 true。
    3. 不改变原数组
    4. 不会对空数组检测
    var arr = [1, 2, 3, 4, 5];
    var a = arr.every(function (item) {
      return item%2===0
    });
    //a:false
    

    三、参数说明

    参数 描述
    currentValue 必需。当前元素
    index 可选。当前元素的索引值。
    arr 可选。当前元素所属的数组对象。

    四、其他参考

    数组的基本方法
    数组(Array)<迭代器>

    相关文章

      网友评论

        本文标题:数组(Array)<迭代器>

        本文链接:https://www.haomeiwen.com/subject/ececyrtx.html