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返回全部结果仍然是数组。

  • 相关阅读:
    Django(四)
    Django(三)
    Django(二)
    Django 基础篇
    jQuery
    JDK,JRE,JVM区别与联系
    webdriver API中文文档
    selenium及webdriver的原理
    JAVA IO流结构图
    抽象工厂与工厂方法的区别
  • 原文地址:https://www.cnblogs.com/beimingbingpo/p/9485321.html
Copyright © 2011-2022 走看看