zoukankan      html  css  js  c++  java
  • 数据过滤

    1 基本数据类型和引用数据类型

       基本数据类型:Number、String 、Boolean、Null和Undefined。基本数据类型是按值访问的,因为可以直接操作保存在变量中的实际值。

    引用型数据类型:Object 、Array 、Function 、Date等。

      javascript的引用数据类型是保存在堆内存中的对象,你不可以直接访问堆内存空间中的位置和操作堆内存空间。只能操作对象在栈内存中的引用地址。

      所以,引用类型数据在栈内存中保存的实际上是对象在堆内存中的引用地址。通过这个引用地址可以快速查找到保存中堆内存中的对象。

    2 es6可用的求交集 差集 并集的方法

       只适用于基本数据类型

      filter+some,filter+includes  ,filter+any,filter+==,  set+filter+has

    2.2 set has不能使用的实例

    var mySet = new Set();

    mySet.add('foo');

    mySet.has('foo'); // 返回 true

    mySet.has('bar'); // 返回 false

    var set1 = new Set();

    var obj1 = {'key1': 1};

    set1.add(obj1);set1.has(obj1); // 返回 true

    set1.has({'key1': 1}); // 会返回 false,因为其是另一个对象的引用

    set1.add({'key1': 1}); // 现在 set1 中有2条(不同引用的)对象了

    3 适用于引用型数据类型

     var obja=[{name:'lili',age:18},{name:'ww',age:18},
        {name:'ee',age:18},{name:'rr',age:18}]
        var objb=[{name:'lili',age:13},{name:'ww',age:18},
        {name:'ee',age:19},{name:'rr',age:11},{name:'oo',age:11}]
        //差集
        
    1)var objc=obja.filter((item,index)=>{
            for(var i=0;i<objb.length;i++){
                debugger;
                if(item.name==objb[i].name&&item.age==objb[i].age){
                    return false
                } 
            }
            return true  
        })
        console.log(objc)
    2)var objc=obja.filter((item,index)=>{
            for(var i=0;i<objb.length;i++){
                if(JSON.stringify(item)==JSON.stringify(objb[i])){
                    return false
                } 
            }
            return true  
        })
        console.log(objc)
  • 相关阅读:
    ACM士兵排队
    ACM两个士兵打牌
    ACM平衡的括号
    ACM复合词
    ACM第二次比赛( C )
    ACM比赛(第二次A)
    ACM比赛(进制转换)
    ACM比赛(11462 Age Sort)
    ACM比赛
    hdu 1241 Oil Deposits(DFS求连通块)
  • 原文地址:https://www.cnblogs.com/fanjiawen/p/14365611.html
Copyright © 2011-2022 走看看