JavaScript学习笔记: 数组迭代方法

  使用数组总是会碰到数组的遍历(迭代)操作。说到迭代,可能会立马想起for语句对数组进行迭代

1.其实ES5为数组定义了五个迭代方法

  • forEach():没有返回值,只是针对每个数组项调用指定的函数(callbackfn)
  • every(): 返回一个布尔值(truefalse),判断每个数组项是否符合指定函数的条件,符合为true,反之为false
  • some(): 返回一个布尔值(true或false),判断每个数组项是否符合指定函数的条件,只要有任何一项返回为true,就会返回true
  • filter(): 每个数组项调用指定的函数,条件为true的将返到一个新数组中
  • map(): 每个数组项调用指定的函数,返回每次函数调用的结果组成一个新数组

  这五个数组迭代的方法中,其中forEach()every()some()方法不生成一个新数组,而filter()map()方法将会生成一个新数组(符合条件)。并且这些方法都会调用指定的函数callbackfn。回调函数callbackfn语法如下

    

  

1.forEach() 让数组的每一项都执行一次给定的函数

  array.forEach(callback[,thisArg])

  array    必选。一个数组对象。比如示例中的peoples数组

  callback   必选。最多可以接受三个参数的函数。对于数组中的每个元素,forEach 都会调用 callbackfn 函数一次。

  thisArg   可选。 callbackfn 函数中的 this 关键字可引用的对象。如果省略 thisArg,则 undefined 将用作 this 值。

  forEach() 方法按升序为数组中含有效值的每一项执行一次callbackfn 函数,那些已删除或者从未赋值的项将被跳过(但不包括哪些值为 undefined 的项)。

  

2. every() 方法 测试数组的所有元素是否都符合指定函数的条件,只要有有一个元素不符合,返回的都会是false

    array.every(callback[,thisArg])

    every()方法为数组中的每个元素执行一次 callbackfn函数 直到它找到一个使callbackfn返回false(表示可转换布尔值false值)的元素 如果发现了一个这样  的元素 every()方法将会立即返回 false。否则,callbackfn 为每一个元素返回 trueevery() 就会返回 truecallbackfn 只会为那些已经被赋值的索引调  用。不会为那些被删除或从来没被赋值的索引调用

    

3. map() 方法

   map() 方法返回一个由原来数组中的每个元素调用 一个指定函数 callbackfn后的返回值组成的新数组 如果符合callbackfn会返回条件的一个值。将所有返回的值再创建一个新的数组

4.filter()

 

posted on 2016-07-04 00:24  Befacebook  阅读(272)  评论(0编辑  收藏  举报