1 <!DOCTYPE html>
2 <html lang="en">
3
4 <head>
5 <meta charset="UTF-8">
6 <meta http-equiv="X-UA-Compatible" content="IE=edge">
7 <meta name="viewport" content="width=device-width, initial-scale=1.0">
8 <title>Document</title>
9
10
11 </head>
12
13 <body>
14 <script>
15 // find、findIndex、map、filter
16 var id = '1';
17 var arr = [
18 { id: '1', name: 'filter' },
19 { id: '2', name: '元素筛选出来' },
20 { id: '3', name: 'find ' },
21 { id: '4', name: 'findIndex ' },
22 ]
23 // filter 过滤 根据条件对数组中元素进行筛选。返回符合条件的元素,组成一个新的数组,
24 var filArr = arr.filter(function (item, index, arr) {
25 if (item.id == id) {
26 return item;
27 }
28 })
29 var filArr = arr.filter(item => item.id == id)
30 console.log('filArr ', filArr);
31
32 // find 查找
33 // find 找到数组中符合条件的元素,返回出来,只要找到符合条件的元素,就立刻返回该元素,
34 // 不会再继续下去,所以find找的是一个元素
35 var arrfind = arr.find(function (item) {
36 return item.id == id
37 })
38 console.log('arrfind ', arrfind);
39
40 // findIndex 找到符合条件元素的位置索引值
41 var idindex = arr.findIndex(function (item) {
42 if (item.id == id) {
43 return item;
44 }
45 })
46 console.log('idindex ', idindex);
47 // .map 遍历返回一个新的数组,并且新数组的长度与原来的相同
48 // map方法里面也是一个回调函数,该函数也是接受三个参数,并且需要返回值,
49 // index 索引值 arr 本身
50 //这个值将作为新数组里的元素,若是没有返回值,则为undefined 2
51 var mapArr = arr.map(function (item, index, arr) {
52 return item;
53 })
54 console.log(mapArr);
55
56 </script>
57
58 </body>
59
60 </html>
61 打印结果如下:
62
63
64
65