ES6爲Array增長了find(),findIndex函數。find()函數用來查找目標元素,找到就返回該元素,找不到返回undefined,而findIndex()函數也是查找目標元素,找到就返回元素的位置,找不到就返回-1。
他們的都是一個查找回調函數。
查找函數有三個參數。
value:每一次迭代查找的數組元素。
index:每一次迭代查找的數組元素索引。
arr:被查找的數組。
假如咱們給vue組件綁定了一個班級的學生列表數據。其數據結構可能以下格式,若是你想從如下數據中查找出姓名爲李四的學生的信息。vue
var stu = [ { name: '張三', gender: '男', age: 20 }, { name: '王小毛', gender: '男', age: 20 }, { name: '李四', gender: '男', age: 20 } ]
find()方法返回數組中符合測試函數條件的第一個元素。不然返回undefined
在這兒須要注意的幾個點:
①、第一個元素
②、測試函數
function getStu(element){ return element.name == '李四' } stu.find(getStu) //返回結果爲 {name: "李四", gender: "男", age: 20}
stu.find((element) => (element.name == '李四')); //返回的是{name: "李四", gender: "男", age: 20}這個元素 stu.findIndex((element)=>(element.name =='李四')); //返回的是索引下標:2