数组的几个迭代的方法

数组的几个迭代的方法,一次性写一下,绝对简单,有尼玛有时候使用的时候,模糊用法,记一下,加深下印象


5个迭代方法,每个方法都是接收两个参数,要在每一项上运行的函数和运行函数作用域对象-this(可选)。
传入的这个函数可以接收三个参数:数组项的值,该数组项的位置,和数组本身。
根据使用的方法不同,这个传入的函数执行后返回值可能会/不会影响访问的返回值。
  • every(): 对数组中对每一项运行给定对函数,如果每一项都返回true,则返回true。
  • some():对数组中对每一项运行给定对函数,如果有一项能返回true,则返回true。
  • filter():对数组中对每一项运行给定对函数,返回该函数返回true的项所组成的数组。
  • forEach():对数组中对每一项运行给定对函数,没有返回值,和for循环相似。
  • map():对数组中对每一项运行给定对函数,返回每次函数执行后返回值组成的数组。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//every:
var arr = [1,2,3,4,5,2,3]
var everyRes = arr.every(function (item,index,array) {
return (item > 2);
});
alert(everyRes) // false
// some:
var arr = [1,2,3,4,5,2,3]
var everyRes = arr.every(function (item,index,array) {
return (item > 2);
});
alert(everyRes) // true
// filter:
var arr = [1,2,3,4,5,2,3]
var everyRes = arr.every(function (item,index,array) {
return (item > 2);
});
console.log(everyRes) // [2,3,4,5,3]
// map:
var arr = [1,2,3,4,5,2,3]
var everyRes = arr.every(function (item,index,array) {
return (item * 2);
});
console.log(everyRes) // [2,4,6,8,10,4,6]
// forEach: 和for循环一样用法

作者 [@sha Qihe]

2016 年 2月 10日