zoukankan      html  css  js  c++  java
  • ES6语法find查找匹配数组

    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>find查找数组数据</title>
    </head>
    <body>
    <script>
    let myId = 3;
        
    let data = [
        {id:1,value:false},
        {id:2,value:false},
        {id:3,value:false}
    ];
        
    var findVal = data.find(item => {
        return item.id === myId;
    });
     
    findVal.value = true; //修改匹配项的值
     
    console.log(findVal); // 打印匹配项数据
    </script>
    </body>
    </html>


    遇到个功能是要分类就想说在前端过滤,不要从查数据库的时候过滤了。然后就想说除了filter还有啥好用的

    发现有个find,测试一番之后发现

    const list = [{'name':'1',index:1},{'name':'2'},{'name':'1'}]
    let list2 = list.find(i=>i.name==='1') 

    let list3 = list.filter(i=>i.name==='1')

    console.log(list); [ { name: '1', index: 1 }, { name: '2' }, { name: '1' } ]
    console.log(list2); { name: '1', index: 1 }

    console.log(list3);[ { name: '1', index: 1 }, { name: '1' } ]

    find 和 filter 都是不改变原数组的方法

    但是find只查出第一个符合条件的结果像例子里是直接返回了一个对象而不是数组!

    ,而filter返回全部结果仍然是数组。

  • 相关阅读:

    双向链表
    obs分析 笔记
    循环链表
    静态链表
    链式顺序表
    线性表
    ffmpeg-4.1.1-win64-dev在vs2017的搭建
    G1 与 CMS 两个垃圾收集器的对比
    垃圾回收算法有几种类型? 他们对应的优缺点又是什么?
  • 原文地址:https://www.cnblogs.com/beimingbingpo/p/9485321.html
Copyright © 2011-2022 走看看