ES6中Arrayfind和findIndex函数用法详解

42次阅读

共计 677 个字符,预计需要花费 2 分钟才能阅读完成。

ES6 为 Array 增加了 find(),findIndex 函数。find()函数用来查找目标元素,找到就返回该元素,找不到返回 undefined,而 findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回 -1。
他们的都是一个查找回调函数。
查找函数有三个参数。
value:每一次迭代查找的数组元素。
index:每一次迭代查找的数组元素索引。
arr:被查找的数组。

假如我们给 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

正文完
 0