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