JS數組常用方法---18、find()和findIndex()
一、總結
一句話總結:
find() 方法返回數組中滿足提供的測試函數的第一個元素的值。否則返回 undefined。參數是回調函數。
findIndex()方法返回數組中滿足提供的測試函數的第一個元素的索引。否則返回-1。參數是回調函數。
find()方法 作用:find() 方法返回數組中滿足提供的測試函數的第一個元素的值。 參數:回調函數(回調函數參數必帶element(當前元素)、可選index(當前元素下標)、可選array(當前數組)) 返回值:數組中第一個滿足所提供測試函數的元素的值,否則返回 undefined。 //1、find()方法基本使用 let arr=[12,32,43,2,4,11,55,12]; let val=arr.find(function (ele,index) { return ele>32; }); console.log(val); findIndex() 作用:findIndex()方法返回數組中滿足提供的測試函數的第一個元素的索引。 參數:回調函數(回調函數參數必帶element(當前元素)、可選index(當前元素下標)、可選array(當前數組)) 返回值:數組中通過提供測試函數的第一個元素的索引。否則,返回-1 //1、findIndex()方法基本使用 let arr=[12,32,43,2,4,11,55,12]; let val=arr.findIndex(function (ele,index) { return ele>32; }); console.log(val);
1、find()和findIndex()方法的參數是什么?
是回調函數,像forEach、map等方法那樣的回調函數,因為find()和findIndex()也是遍歷數組
//1、find()方法基本使用 let arr=[12,32,43,2,4,11,55,12]; let val=arr.find(function (ele,index) { return ele>32; }); console.log(val);
二、find()和findIndex()
博客對應課程的視頻位置:
1、find()
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>find()和findIndex()</title> 6 </head> 7 <body> 8 <!-- 9 10 find()方法 11 作用:find() 方法返回數組中滿足提供的測試函數的第一個元素的值。 12 參數:回調函數(回調函數參數必帶element(當前元素)、可選index(當前元素下標)、可選array(當前數組)) 13 返回值:數組中第一個滿足所提供測試函數的元素的值,否則返回 undefined。 14 15 --> 16 <script> 17 //1、find()方法基本使用 18 // let arr=[12,32,43,2,4,11,55,12]; 19 // let val=arr.find(function (ele,index) { 20 // return ele>32; 21 // }); 22 // console.log(val); 23 24 //2、用對象的屬性查找數組里的對象 25 // var inventory = [ 26 // {name: 'apples', quantity: 2}, 27 // {name: 'bananas', quantity: 0}, 28 // {name: 'cherries', quantity: 5} 29 // ]; 30 // function findCherries(fruit) { 31 // return fruit.name === 'cherries'; 32 // } 33 // console.log(inventory.find(findCherries)); // { name: 'cherries', quantity: 5 } 34 35 //3、尋找數組中的質數 36 // function isPrime(element, index, array) { 37 // var start = 2; 38 // while (start <= Math.sqrt(element)) { 39 // if (element % start++ < 1) { 40 // return false; 41 // } 42 // } 43 // return element > 1; 44 // } 45 // console.log([4, 6, 8, 12].find(isPrime)); // undefined, not found 46 // console.log([4, 5, 8, 12].find(isPrime)); // 5 47 48 </script> 49 </body> 50 </html>
2、findIndex()
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>findIndex()</title> 6 </head> 7 <body> 8 <!-- 9 findIndex() 10 作用:findIndex()方法返回數組中滿足提供的測試函數的第一個元素的索引。 11 參數:回調函數(回調函數參數必帶element(當前元素)、可選index(當前元素下標)、可選array(當前數組)) 12 返回值:數組中通過提供測試函數的第一個元素的索引。否則,返回-1 13 --> 14 <script> 15 //1、findIndex()方法基本使用 16 let arr=[12,32,43,2,4,11,55,12]; 17 let val=arr.findIndex(function (ele,index) { 18 return ele>32; 19 }); 20 console.log(val); 21 </script> 22 </body> 23 </html>