数组ES5新增方法

数组ES5新增方法

  • indexOf

    功能:查找目标元素,找到返回下标,找不到返回-1
            参数:indexof(目标元素);
            返回值:找到返回下标,找不到返回-1
            注意事项:若出现重复的元素,则只能查找第一个出现的元素下标
    
      var arr=[7,8,6,3,2,0]
            console.log(arr.indexOf(4));//-1,没有
           
           案例:数组去重:
         
       数组去重
            var arr=[4,5,3,2,3,5,8,7,4,3];
            var arrN=[];
            for(var i=0;i<arr.length;i++){
                if(arrN.indexOf(arr[i])==-1){
                    arrN.push((arr[i]));
                }
            }console.log(arrN);
            
    • forEash

      功能:对数组的所有元素执行某种相同的操作
              参数:forEash(回调函数)
              回调函数参数:回调函数(数组元素的值,[下标,元素所在的数组])
              返回值:无
      
         var arr=[1,2,3];
              function fun(x,index,a){
                  a[index]+=10;
              }
              arr.forEach(fun);
              console.log(arr); //[11,12,13]
              

    • map:

    功能:和forEash基本一模一样,多一个返回值
            参数:map(回调函数)
            回调函数参数:回调函数(数组元素的值,[下标,元素所在的数组])
            返回值:用回调函数return的数据,构成一个数组
            
           
    
      var arr=[1,2,3];
            function fun(x,index,a){
                a[index]+=10;
                return a[index];
            }
            var arr1=arr.map(fun);
            console.log(arr1); //[11,12,13]

    • filter

      功能:按条件过滤元素
              参数:filter(回调函数)
              回调函数参数:回调函数(数组元素的值,[下标,元素所在的数组])
              返回值:根据当前回调函数return的布尔值,决定是否返回当前元素本身
      
        var arr=[4,5,6,2,1,2,3];
              
              function fun(x){
                  if(x%2==1){
                      return true;
                  }else{
                      return false;
                  }
              }
              var arr1=arr.filter(fun);
              console.log(arr1); //[5,1,3]过滤偶数

      回调函数

    回调函数:一个被当做参数的函数(函数调用函数)
            解决问题:将自定义模块传入至第三方模块
            
            
    
    
    function f1(f){//第三方代码,闭园代码
                        // f==f2;
                        // f()==f2()
                f();//这一步是第三方调用的,和自定义模块设计无关
            }
            
            var f2=function(){ //自定义模块
                console.log("f2");
            }
            
            f1(f2);//函数的调用  //f2

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值