JS数组中every(),filter(),forEach(),map(),some()方法学习笔记!

时间:2021-10-27 14:35:31

  ES5中定义了五种数组的迭代方法:every(),filter(),forEach(),map(),some()。

  每个方法都接受两个参数:要在每一项运行的函数(必选)和运行该函数的作用域的对象-影响this的值(可选);

  每个方法中的函数都会接受三个参数:该项的值(item),该项在数组的位置(index),数组对象本身(arr);

  目前支持的浏览器有:IE9+, Firefox1.5+, Firefox(Gecko)1.8+, Chrome, Opera, Safari.

  1.every()

    对数组中的每一项都进行操作,而且每一项都要符合函数的条件.才会返回ture,否则返回false。

 var  num = [1,2,3,4,5];
var eve = num.every(function(item, index, arr){
return (item > 2);
});
console.log(eve); //false

  2.some()

    这个方法与every()方法极为相似,但又有所不同,every要求每一项都要符合函数里面的条件,而some只要求有数组中的某一项符合即可,这点类似于或与和。返回的是布尔值,使用事例如下:

1 var  num = [1,2,3,4,5];
2 var eve = num.some(function(item, index, arr){
3 return (item > 2);
4 });
5 console.log(eve); //true

  3.filter()

    filter就相当于一个过滤器,符合条件的留下,不符合条件的去除。返回符合条件的数组!案例如下:

var  num = [1,2,3,4,5];
var eve = num.filter(function(item, index, arr){
return (item > 2);
});
console.log(eve); //[3,4,5]

  4.forEach()

    forEach()方法可以使数组中的每个值都执行指定的函数,而且forEach()方法是唯一没有返回值的方法!案例如下:

var  num = [1,2,3,4,5];
var eve = num.forEach(function(item, index, arr){
//执行你想要的操作
});

  5.map()

    map()方法同样可以使数组中的每一个值都执行指定的函数,并且返回得到的新的数组!案例如下:

var  num = [1,2,3,4,5];
var eve = num.map(function(item, index, arr){
return item + 2;
});
console.log(eve); //[3,4,5,6,7]