JS数组常用方法---13、5个迭代方法

JS数组常用方法---13、5个迭代方法

一、总结

一句话总结:

es5中新增了5个迭代方法,分别是forEach(遍历数组),map(遍历加工数组),filter(遍历过滤数组),some(遍历检测部分元素是否满足条件),every(遍历检测是否全部元素满足条件)
forEach()
作用:遍历数组
参数:回到函数,arr.forEach(callback(currentValue [, index [, array]]))
返回值:无(undefined)
是否影响原数组:不影响


forEach:遍历数组
map:遍历数组返回一个新的数组,返回加工之后的值
filter:遍历过滤出的一个新的子数组,返回条件为true的值
some:检测数组中的部分(some)元素是否满足条件
every:检测数组中的全部(every,每一个)元素是否满足条件

1、ES5中新增的5个迭代方法的参数 的共同点?

ES5中新增的5个迭代方法的参数都是一个回调函数,这个函数有一个必须的参数value(当前值),可选参数index(当前值的索引),可选参数array(当前数组)

2、some方法和every方法的返回值是什么?

是bool值true或者false,因为some方法是看数组中是否有元素满足条件,every方法是看数组中全部的的元素是否满足条件

3、map方法和filter方法的返回值是什么?

map方法和filter方法的返回值都是数组,map方法返回加工后的元素组成的数组,filter方法返回符合条件的元素组成的数组

二、5个迭代方法

博客对应课程的视频位置:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>5个迭代方法</title>
 6 </head>
 7 <body>
 8 <!--
 9 es5中新增了5个迭代方法,分别是forEach(遍历数组),map(遍历加工数组),filter(遍历过滤数组),some(遍历检测部分元素是否满足条件),every(遍历检测是否全部元素满足条件)
10 
11 forEach()
12 作用:遍历数组
13 参数:回到函数,arr.forEach(callback(currentValue [, index [, array]]))
14 返回值:无(undefined)
15 是否影响原数组:不影响
16 
17 
18 forEach:遍历数组
19 map:遍历数组返回一个新的数组,返回加工之后的值
20 filter:遍历过滤出的一个新的子数组,返回条件为true的值
21 some:检测数组中的部分(some)元素是否满足条件
22 every:检测数组中的全部(every,每一个)元素是否满足条件
23 
24 
25 ES5中新增的5个迭代方法的参数 的共同点
26 ES5中新增的5个迭代方法的参数都是一个回调函数,这个函数有一个必须的参数value(当前值),可选参数index(当前值的索引),可选参数array(当前数组)
27 
28 some方法和every方法的返回值是什么
29 是bool值true或者false,因为some方法是看数组中是否有元素满足条件,every方法是看数组中全部的的元素是否满足条件
30 
31 
32 map方法和filter方法的返回值是什么
33 map方法和filter方法的返回值都是数组,map方法返回加工后的元素组成的数组,filter方法返回符合条件的元素组成的数组
34 
35 -->
36 <script>
37     //1、forEach()方法遍历 连续数组
38     // let arr=[5,54,12,4,1,23,111];
39     // arr.forEach(function (value,index,array) {
40     //     console.log(value);
41     //     console.log(index);
42     //     console.log(array);
43     // });
44 
45     //forEach()方法遍历 非连续数组
46     // let arr=[];
47     // arr[1]='a';
48     // arr[5]='g';
49     // arr[10]='h';
50     // arr.forEach(function (value,index) {
51     //     console.log(index);
52     //     console.log(value);
53     // });
54 
55     //2、map方法遍历加工数组
56     // let arr=[5,54,12,4,1,23,111];
57     // let new_arr=arr.map(function (value,index,array) {
58     //     // console.log(value);
59     //     // console.log(index);
60     //     // console.log(array);
61     //     return value+1000;
62     // });
63     // console.log(arr);
64     // console.log(new_arr);
65 
66     //3、filter方法遍历过滤数组
67     // let arr=[5,54,12,4,1,23,111];
68     // let new_arr=arr.filter(function (value,index,array) {
69     //     return value>10;
70     // });
71     // console.log(arr);
72     // console.log(new_arr);
73 
74     //4、some方法检测数组中是否有元素(some)满足条件
75     // let arr=[5,54,12,4,1,23,111];
76     // let bool_val=arr.some(function (value,index,array) {
77     //     return value>10;
78     // });
79     // console.log(arr);
80     // console.log(bool_val);
81 
82     //5、every方法检测数组中是否所有(every)元素满足条件
83     let arr=[5,54,12,4,1,23,111];
84     let bool_val=arr.every(function (value,index,array) {
85         //return value>10;
86         return value<1000;
87     });
88     console.log(arr);
89     console.log(bool_val);
90 
91 </script>
92 </body>
93 </html>
 
原文地址:https://www.cnblogs.com/Renyi-Fan/p/12683018.html