ES6中Array.find()和findIndex()函數用法詳解

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()的使用

find()方法返回數組中符合測試函數條件的第一個元素。不然返回undefined
在這兒須要注意的幾個點:
①、第一個元素
②、測試函數
function getStu(element){
   return element.name == '李四'
}
stu.find(getStu)
//返回結果爲  {name: "李四", gender: "男", age: 20}

結合es6的改進

stu.find((element) => (element.name == '李四')); //返回的是{name: "李四", gender: "男", age: 20}這個元素
stu.findIndex((element)=>(element.name =='李四'));  //返回的是索引下標:2
相關文章
相關標籤/搜索