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