es5新增数组函数

这篇博客介绍了JavaScript中四个重要的数组方法:every用于判断数组所有元素是否满足条件,some则检查数组中是否存在符合条件的元素。forEach用于遍历数组并执行指定操作,而map则在遍历过程中对每个元素进行处理并生成新的数组。通过示例代码,详细解释了这些方法的工作原理和使用方法。
摘要由CSDN通过智能技术生成
5.5数组新增函数

【1】用于判断:2个

5.5.1 every

​ 每个

1.功能:专门判断一个数组中是否所有元素都符合要求

2.如何使用:

var 判断结果=数组.every(
      function(当前元素值,当前下标i,当前数组){//回调函数
        return 检查当前元素值是否符合要求,并返回检查结果
      }
    );

3.原理:

​ i. every内自带for循环,自动遍历数组中每个元素

​ ii. 每遍历一个元素,就自动调用一次回调函数

​ iii. 每次调用回调函数时,都自动传入三个值:

  ①当前元素值

  ②当前下标i

  ③当前数组对象

​ iv. 在回调函数内,判断当前元素值是否符合要求,并返回判断结果为every函数

v. 如果本次回调函数判断结果为true,则至少说明当前元素符合要求,every会自动遍历下一个元素。直到所有元素遍历完成,都没有碰到不符合要求的元素,则结束循环,整体返回true,说明当前数组中所有元素都符合要求!

​ vi. 如果本次回调函数判断结果为false,则说明当前元素不符合要求,every立刻退出循环,直接返回false,表明当前数组中不是所有元素都符合要求。

4.示例

// every函数
        // 判断一个数组中的元素是否全是偶数
        var arr1=[1,1,3,4,5];
        var arr2=[2,2,2,4,6];
        // every函数,自动遍历所有元素,且自动判断
        var res1= arr1.every(
                   // 当前元素值    当前下标i      当前数组
                  //     ↓              ↓           ↓
            function(  key,             i,            arr){
                console.log(`本次当前元素值:${key},当前下标:${i},当前数组${arr},返回结果是:${key%2===0}`);
                return key%2===0;  //返回true/false
        })
        console.log(res1);
        var res2= arr2.every(
                // 当前元素值    当前下标i      当前数组
                //     ↓              ↓           ↓
            function( key,            i,        arr){
                console.log(`本次当前元素值:${key},当前下标:${i},当前数组${arr},返回结果是:${key%2===0}`);
                return key%2===0;
            })
        console.log(res2);
5.5.2 some

​ 一些

1.功能:专门判断一个数组中是否含有符合要求的元素

2.如何使用:

 var 判断结果=数组.some(
      function(当前元素值, 当前下标位置, 当前数组){
        return 判断当前元素值是否符合要求
      }
    )

3.原理

​ i. some内自带for循环,自动遍历数组中每个元素

​ ii. 每遍历一个元素,就自动调用一次回调函数

​ iii. 每次调用回调函数时,都自动传入三个值:

①当前元素值

②当前下标i

③当前数组对象

​ iv. 在回调函数内,判断当前元素值是否符合要求,并返回判断结果给some函数

​ v. 如果本次回调函数判断结果为true,则说明至少当前元素符合要求,some立刻退出循环,直接返回true,说明当前数组中包含至少一个符合要求的元素。

​ vi. 如果本次回调函数判断结果为false,则说明当前元素不符合要求,some只能继续遍历下一个元素。如果直到遍历结束都没有发现符合要求的元素,则返回false。说明当前数组中不包含符合要求的元素。

4.示例

  // some函数
        // 判断一个数组中是否有奇数
        var arr1=[1,1,3,4,5];
        var arr2=[2,2,2,4,6];
        // some函数,自动遍历所有元素,且自动判断
        var res1= arr1.some(
                   // 当前元素值    当前下标i      当前数组
                  //     ↓              ↓           ↓
            function(  current,             i,            arr){
                console.log(`本次当前元素值:${current},当前下标:${i},当前数组${arr},返回结果是:${current%2===0}`);
                return current%2===1;  //返回true/false
        })
        console.log(res1);
        var res2= arr2.some(
                // 当前元素值    当前下标i      当前数组
                //     ↓              ↓           ↓
            function( current,            i,        arr){
                console.log(`本次当前元素值:${current},当前下标:${i},当前数组${arr},返回结果是:${current%2===0}`);
                return current%2===1;
            })
        console.log(res2);

【2】用于遍历:2个

5.5.3 forEach

1.功能:专门替代for循环来简化遍历索引数组的特殊函数

2.如何使用:

数组.forEach(function(当前元素值, 当前下标i, 当前数组){
       对当前元素值执行操作
    })

3.原理

​ i. forEach内自带for循环,自动遍历数组中每个元素

​ ii. 每遍历一个元素,就自动调用一次回调函数

​ iii. 每次调用回调函数时,都自动传入三个值:

①当前元素值

②当前下标i

③当前数组对象

​ iv. 在回调函数内,对当前元素执行规定的操作。不需要返回值。

4.示例

        var arr=["panpan","mengjie","yuqing","yake"];
        // for(var i=0;i<arr.length;i++){
        //     console.log(`${arr[i]}- 到 !`)
        // }
        // arr.forEach(
        //     //       当前元素值,当前下标和当前数组如果不需要传参的话,可以省略不写
        //     function(current){
        //         console.log(`${current}- 到 !`)
        //     }
        // )
        arr.forEach((current)=>console.log(`${current}- 到 !`));
5.5.4 map

1.功能:专门读取原数组中的每个元素值,并进行修改后生成一个新数组返回

2.如何使用:

 var 新数组=原数组.map(
      function(当前元素值, 当前下标i, 当前数组){
        return 当前元素值修改后的新值
      }
    )

3.原理

i. 内部创建一个新的空数组等待

i. map内自带for循环,自动遍历原数组中每个元素

ii. 每遍历一个元素,就自动调用一次回调函数

iii. 每次调用回调函数时,都自动传入三个值:

①当前元素值

②当前下标i

③当前数组对象

iv. 在回调函数内,对当前元素值进行修改,并将修改后的新值返回给map函数

v. map函数接到新值后,自动放入新数组中对应的位置。

vi. 遍历结束,map返回新数组。原数组保持不变。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值