es6陣列方法find()、findIndex()與filter()的
總結一下es6常用的陣列方法find()、findIndex()與filter()
find()
該方法主要應用於查詢第一個符合條件的陣列元素。它的引數是一個回撥函式。在回撥函式中可以寫你要查詢元素的條件,當條件成立為true時,返回該元素。如果沒有符合條件的元素,返回值為undefined。
以下程式碼在myArr陣列中查詢元素值大於4的元素,找到後立即返回。返回的結果為查詢到的元素:
const myArr=[1,2,3,4,5,6];var v=myArr.find(value=>value>4);console.log(v);// 5
沒有符合元素,返回undefined:
const myArr=[1,2,3,4,5,6];var v=myArr.find(value=>value>40);console.log(v);// undefined
回撥函式有三個引數。value:當前的陣列元素。index:當前索引值。arr:被查詢的陣列。
查詢索引值為4的元素:
const myArr=[1,2,3,4,5,6];var v=myArr.find((value,index,arr)=>{ return index==4});console.log(v);// 5
findIndex()
findIndex()與find()的使用方法相同,只是當條件為true時findIndex()返回的是索引值,而find()返回的是元素。如果沒有符合條件元素時findIndex()返回的是-1,而find()返回的是undefined。findIndex()當中的回撥函式也是接收三個引數,與find()相同。
const bookArr=[ { id:1, bookName:"三國演義" }, { id:2, bookName:"水滸傳" }, { id:3, bookName:"紅樓夢" }, { id:4, bookName:"西遊記" } ];var i=bookArr.findIndex((value)=>value.id==4);console.log(i);// 3var i2=bookArr.findIndex((value)=>value.id==100);console.log(i2);// -1
filter()
filter()與find()使用方法也相同。同樣都接收三個引數。不同的地方在於返回值。filter()返回的是陣列,陣列內是所有滿足條件的元素,而find()只返回第一個滿足條件的元素。如果條件不滿足,filter()返回的是一個空陣列,而find()返回的是undefined
var userArr = [ { id:1,userName:"laozhang"}, { id:2,userName:"laowang" }, { id:3,userName:"laoliu" }, ]console.log(userArr.filter(item=>item.id>1));//[ { id: 2, userName: 'laowang' },{ id: 3, userName: 'laoliu' } ]
陣列去重:
var myArr = [1,3,4,5,6,3,7,4];console.log(myArr.filter((value,index,arr)=>arr.indexOf(value)===index));//[ 1, 3, 4, 5, 6, 7 ]
作者:張培躍
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4301/viewspace-2815315/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自己實現陣列的 `map`、`filter`、`find` 方法陣列Filter
- es6陣列方法陣列
- 陣列filter方法對陣列元素進行過濾陣列Filter
- Js中的find,findIndex,indexof,includesJSIndex
- js--陣列的filter()過濾方法的使用JS陣列Filter
- ES6新增的陣列方法和物件方法陣列物件
- has(),find()以及filter()方法的區別Filter
- 陣列的forEach,map,filter,reduce,reduceRight,every,some方法陣列Filter
- 遍歷陣列的常用方法forEach,filter,map等陣列Filter
- ES6陣列新增的幾個方法陣列
- [譯] 圖解 Map、Reduce 和 Filter 陣列方法圖解Filter陣列
- es6 陣列擴充套件方法陣列套件
- JS中陣列遍歷方法foreach,filter,some,every,map方法介紹與總結JS陣列Filter
- ES6中陣列新增的方法-超級好用陣列
- es6和es5的陣列方法(9.9)陣列
- ES6 - 陣列陣列
- 陣列的 map, filter ,sort和 reduce 用法陣列Filter
- es6新增陣列方法簡便了哪些操作?陣列
- 陣列與方法的呼叫(重點)陣列
- JavaScript常用陣列操作方法,包含ES6方法JavaScript陣列
- Javascript - 陣列和陣列的方法JavaScript陣列
- 常用的幾個陣列方法與數學方法陣列
- 陣列的方法陣列
- ES6 陣列相關陣列
- ES6 陣列介紹陣列
- JavaScript 4/30: 陣列的 map, filter 和 reduce 用法JavaScript陣列Filter
- 陣列與字串方法與相互轉換陣列字串
- filter在JavaScript中過濾陣列元素FilterJavaScript陣列
- Java實驗2 方法與陣列Java陣列
- 陣列的常用方法陣列
- 陣列常用的方法陣列
- JS陣列的方法JS陣列
- ES6之陣列的擴充套件陣列套件
- 陣列方法陣列
- 【深入淺出ES6】陣列陣列
- es6陣列去重複陣列
- 重寫陣列的方法(改變原陣列)陣列
- forEach、map、filter、find、sort、find等易錯點整理Filter