javascipt中ECMAS5新增的数组方法

关于es5中数组新增方法的总结

一、索引方法

1、indexOf 在数组中查找一个数所在的位置,输出的是下标

  var arr = [1,2,t,5,7,8];
  var a= arr.indexOf(3);
  console.log(a);//输出的是t的下标,是2

二、迭代器方法

1、forEach()把数组中的每个元素循环一遍,并做处理。处理的就是原数组的元素。参数:是一个回调函数,没有返回值。

 function fn(){
      var arr = [1,2,3,4,5];
      arr.forEach(add);
      console.log(arr);//[2,3,4,5,6]
 }
 //num:是数组的元素
 //index:元素的下标
 //arr:数组
 function add(num,index,arr){
      arr[index] = num+1;//给数组每一个元素加一
      arr[index] = num*num;//数组每一个元素的平方
 }

2、map()映射新的数组,新的数组是在原数组的基础上做了一定的处理,参数是一个回调函数,返回值是映射的新数组,且原数组不会改变。

 	function fn(){
        var arr = [1,2,3,4,5];
        var arr2 = arr.map(add);
        console.log(arr);// arr = [1,2,3,4,5]
        console.log(arr2);// arr2 = [2,3,4,5,6]
    }
	//给数组中的每一个元素加一
    function add(num,index){
       return num+1;
    }

3、filter()过滤产生新的数组,新的数组 是在原数组基础上取了一部分数据(满足条件),参数是回调函数,返回值满足条件的新数组,且原数组不会改变。

 	function fn(){
        var ages = [12,18,8,90];    
        var arr2 = ages.filter(isAdult);

        console.log(ages);
        console.log(arr2);
    }

    function isAdult(num){   
       return num>=18;
    }

4、every()判断数组中的每一个元素是不是都满足某个条件,参数是回调函数(回调函数里写的是条件)。返回值是boolean类型。true:都满足;false:不满足(有一个不满足也是不满足条件)即就是:some方法会在数组中任意一项执行函数返回true之后,不在进行循环。

   function fn(){
        var scores = [86,96,98,55,83];
        // 需求:是不是所有人都及格了。
        if(scores.every(gte60)==true){
            console.log("全部及格");
        }else{
            console.log("有不及格的人");
        }
    }
   //输出结果:有不及格的人
   function gte60(num){
        return num>=60
    }

5、some()判断数组中是不是有满足某个条件的一些元素,参数是函数(函数里写的是条件),返回值是boolean类型。true:都满足;false:不满足(有一个满足也是复合满足条件)。即就是:some方法会在数组中任意一项执行函数返回true之后,不在进行循环。

function fn(){
    var scores = [86,96,98,55,83];    
    // 需求:是不是所有人都及格了。
    if(scores.some(lt60)==true){
        console.log("有不及格的人");
    }else{
        console.log("全部及格");
    }    
}
//输出结果:有不及格的人
function lt60(num){
    return num<60;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值