数组常见方法下

在ECMAScript5中为数组定义了5个迭代方法,every()、filter()、forEach()、map()和some(),每个方法都接受两个参数:要在每一项上运行的函数和(可选的)运行该函数的作用域对象——影响this的值。传入的这些方法中的函数会接收三个参数:数组项的值、该项在数组中的位置和数组对象本身。根据使用的方法不同,这个函数执行后的返回值可能会也可能不会影响访问的返回值。

every()

every()方法用于检测数组所有元素是否都符合指定条件,对数组中的每一项运行给定函数,如果数组中检测到一个元素不满足,则整个表达式返回false,且剩余的元素不会再进行检测,如果所有元素都满足条件,则返回true。

 filter()

filter()方法在不改变原数组的情况下,创建一个新的数组,新数组中的元素是通过检查指定数值中符合条件的所有元素:filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。

filter()接收的回调函数,其实可以有多个参数。通常我们仅使用第一个参数,表示Array的某个元素。回调函数还可以接收另外两个参数,表示元素的位置和数组本身。在之前的数组方法中,我们知道indexOf总是返回元素的第一个位置,后续的重复元素位置与indexOf返回的位置不相等,利用这一特性,我们可以使用filter()方法进行数组去重。

 map()

map()方法根据调用的函数,依次处理原数组的元素,返回一个处理后的新数组,而不改变原来的数组。

forEach()

forEach()方法用于调用数组的每个元素,并将元素传递给回调函数。这个方法执行是没有返回值的,对原来数组也没有影响;但是我们可以自己通过数组的索引来修改原来的数组。

some()

some()方法用于检测数组中的元素是否满足调用函数所指定条件,如果有一个元素满足,则表达式返回true,剩余的元素不会再执行检测,如果没有满足条件的元素,则返回false。

原文地址:https://www.cnblogs.com/yuyujuan/p/9107865.html