ES6的find()与findIndex()函数根据条件找到数组成员

最近发现了es6的两个函数来根据条件来找到数组中的对应数据,实用性非常高。

find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined。

findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。

一、find()函数

  1.基础语法

   data.find(function('数组当前行数据','下标','数组本身'){})

  2.例:

    var data = [
      {checked: false,goodsName: '商品1',price: 10},
      {checked: false,goodsName: '商品2',price: 20},
      {checked: true,goodsName: '商品3',price: 20}
    ]
    var row = data.find(item => item.price > 10)
    console.log(row)
    var row2 = data.find(item => item.price === 10)
    console.log(row2)
    var row3 = data.find(item => item.price === 50)
    console.log(row3)

  结果输出:

{checked: false, goodsName: "商品2", price: 20}
{checked: false, goodsName: "商品1", price: 10}
undefined

二、findIndex()函数

  1.语法与find()相同

  2.例:

    var data = [
      {checked: false,goodsName: '商品1',price: 10},
      {checked: false,goodsName: '商品2',price: 20},
      {checked: true,goodsName: '商品3',price: 20}
    ]
    var index = data.findIndex(item => item.price > 10)
    console.log(index)
    var index2 = data.findIndex(item => item.price === 10)
    console.log(index2)
    var index3 = data.findIndex(item => item.price === 50)
    console.log(index3)

  结果输出:

1
0
-1
原文地址:https://www.cnblogs.com/qiuchuanji/p/12035431.html