数组方法的使用(2)

2019-05-28  本文已影响0人  AuraAura

indexOf()

查询数组中是否存在给定元素的第一个索引,如果不存在返回-1

 var arr = [1,2,3,4,5,3];
 console.log(arr.indexOf(3));//返回2

forEach()

遍历数组,对数组的每个元素执行一次回调函数

    var arr = [1,2,3,4,5,3];
    arr.forEach(function (currentValue,index,array){
      console.log(currentValue*currentValue);
    });
forEach()执行结果

回调函数包括3个参数,第一个参数是数组当前元素的值,第二个参数是当前元素的索引值,第三个参数是当前的数组对象。

map()

创建一个新数组,新数组为是每一个数组元素执行回调函数后的结果

    var arr = [1,2,3,4,5,3];
    var newArr = arr.map(function (currentValue,index,array){
      return currentValue*currentValue;
    });
    console.log(newArr);//返回[1, 4, 9, 16, 25, 9]
map()方法执行结果

forEach()和map()区别,map()创建一个新的数组,有返回值。

every()

对数组元素进行判断,所有数组元素满足某一条件,返回true,有一个不满足返回false

    var arr = [1,2,3,4,5,3];
    function isPositiveNumber(element,index,array){
      return element>0;
    }
    console.log(arr.every(isPositiveNumber));//返回true,全部为正数

some()

判读是否有数组元素满足回调函数实现,有一个满足返回true,全部不满足返回false

    var arr = [-1,-2,3,-4,-5,-3];
    function hasPositiveNumber(element,index,array){
      return element>0;
    }
    console.log(arr.some(hasPositiveNumber));//返回true,有一个正数

filter()

创建一个新数组,结果为筛选数组中满足回调函数实现的元素。

    var arr = [-1,2,3,-4,5,-3];
    function filterPositiveNumber(element,index,array){
      return element>0;
    }
    var newArr = arr.filter(filterPositiveNumber);
    console.log(newArr);//返回[2,3,5],筛选出正数

reduce()

对数组元素依次进行回调函数实现,将最终实现结果返回

    var arr = [1,2,3,4,5];
    function sum(accumulator,currentValue,currentIndex,array){
      return accumulator+currentValue;
    }
    var sumOfArr = arr.reduce(sum,100);//第二个参数是执行的初始值
    console.log(sumOfArr);//返回115,因为100+1+2+3+4+5=115
上一篇 下一篇

猜你喜欢

热点阅读